繁体   English   中英

SQL:检查行是否包含另一个单元格的内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM