我有以下表架构:
Table 1
-
field1
Table 2
-
field1 | field2
我想要做的是选择 field2 from the second table ,其中第二个表中的 field1 在第一个表( field1 )中不存在 .
我有这个:
SELECT t2.field2
, t2.field1
FROM table1 t1
, table2 t2
WHERE t2.field1 != t1.field1
问题是如果table1中有多行适用,此查询将从table2检索多个重复信息 . 我添加了 DISTINCT
和/或 LIMIT
但它仍然不起作用 . 有关如何做到这一点的任何想法?
3 回答
您可以使用子查询:
这将为您提供
table2
中field1
不在table1
中的所有行 .您现在可以在最外层查询上使用
DISTINCT
或LIMIT
进行任何进一步处理 .您可以将
LEFT JOIN
与IS NULL
一起使用检查:你问题的 Headers 几乎就是你需要的命令:'不存在' . SQL非常简单 . ;)