我的 SQL 知识非常有限,所以请多多包涵!
我试图根据与另一个表中的字段不匹配的字段之一返回一个表中的行。
我的一个表有一个 url 和站点字段,比如表 A。另一个表列出了一些站点,使用站点的名称,表 B。
例如,表 A 的 url 字段可能是“ http://google.it/aaa ”,其名称字段是“google”
在表 BI 中有一个存储在“站点”和“名称”字段下的站点列表。以下示例:
一项:网站 google.co.uk
名称谷歌
另一个条目:网站 google.fr
名称谷歌
第三个条目:网站 bing.com
名称 bing
我想返回表 A 中的值,其中 url 字段与表 B 中的“站点”字段不匹配。为此,我需要使用表 A 中的“名称”字段来查找表中的“站点”值B - 如果没有匹配项,我希望返回条目。所以在这种情况下,我的 url 是' http://google.it/aaa ',所以当它检查表 B 中是否有 google.it 的条目时,它不会找到任何东西并因此返回它。
我正在使用 MySQL db,这两个表位于不同的模式中。我已经尝试了一些 SQL,这就是我想出的:
SELECT tablea.url, tablea.name FROM schema1.tablea inner JOIN schema2.tableb ON tablea.url NOT LIKE ('%' || tableb.site || '%')
提前致谢