[英]SQL: checking if row contains contents of another cell
我在使用SQL查询时遇到困难。
我有两个表:
表格1
ID/First Name
1 Ben
2 Barry
3 Birl
表2
ID/Full name
1 Ben Rurth
2 Barry Bird
3 Burney Saf
我想在两个表之间进行检查,如果表1中“名字”的内容不在表2中的“全名”中,则将返回结果,例如,在上面的示例中,返回id 3,Birl。
我一直在尝试类似的查询:
SELECT First_Name
from Table_1
WHERE NOT EXIST (SELECT Full_name from Table_2)
到目前为止没有运气。
您可以将LIKE
子句与串联结合使用。
SELECT t1.First_Name,t2.Full_Name
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID
WHERE t2.Full_Name NOT LIKE '%' || t1.First_Name || '%'
要么
SELECT t1.First_Name,t2.Full_Name
FROM Table1 t1
JOIN Table2 t2 ON t1.ID = t2.ID
WHERE t2.Full_Name NOT LIKE CONCAT('%', t1.First_Name, '%')
也就是说,要了解两个表共享ID
列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.