我有两个这样的表:
TableA
Id | ProjectId | JobId
TableB
Id | Title
我想编写一个查询,以ProjectId = 2
返回不在TableA中的TableB ID。
我写了一个查询
Select B.Id
From TableB B
Right Join TableA A On B.Id = A.JobId
Where B.JobId Is Null And A.ProjectId = 2
但是它返回零输出。
谢谢
答案 0 :(得分:5)
我将在此处使用EXISTS
SELECT b.Id
FROM TableB b
WHERE NOT EXISTS (SELECT 1 FROM TableA a WHERE a.JobId = b.Id AND a.ProjectId = 2);
用英语阅读时,上面说要选择Id
中的每个TableB
,以使我们无法在Id
为TableA
的{{1}}中找到相等的ProjectId
也是2。
查询已编辑