查询:
SELECT *
from t1
INNER JOIN t2 ON t1.item_id = t2.item_id
WHERE t1.item_id NOT IN
(Select t2.item_id from t2)
基本上,我试图用t2表中的item_id排除所有结果,但它只包含t2表中带有item_id的结果。我在这里错过了什么......
感谢所有回复!
答案 0 :(得分:2)
我很惊讶你得到了任何查询,因为你似乎排除了你通过联接所包含的任何内容。尝试将您的查询更改为:
SELECT * from t1
WHERE item_id NOT IN (SELECT item_id from t2)
答案 1 :(得分:0)
您加入然后排除所有内容:/
至少这就是sql所说的here
尝试这样的事情:
SELECT
item_id
FROM
t1
WHERE
item_id NOT IN (SELECT item_id from t2)
,如here。
答案 2 :(得分:0)
这将从T1中选择T2中没有相应条目的项目。我想这就是你想要的。
SELECT *
from t1
LEFT JOIN t2 ON t1.item_id = t2.item_id
WHERE t2.item_id IS NULL