我有两张表有以下数据 -
Social_Tbl
ID Name Value
------------------------
1 Facebook FB
2 Orkut OR
3 Google GL
4 Other OT
和Organization_tbl
ID Organization Name
-----------------------------
1 1234 Facebook
2 1234 Google
3 146 Other
4 126 Other
5 126 Facebook
6 77 Google
此处,'名称'是外键(非ID) 我想加入这些表并获取不属于组织ID 1234的“名称”列数据。如下所示 -
Name
----
Orkut
Other
此处,'Orkut'和'其他'不属于1234组织。
我尝试了以下查询 -
select * from Social_Tbl st
join Organization_tbl ot
on st.Name = ot.Name
where Organization = 1234
此查询提取与1234相关的名称,即Facebook和Google。我想要结果
Orkut和其他。如果我将Organization = 1234
替换为Organization != 1234
,则会返回Organization_tbl中的所有数据。
有人可以帮我解决这个问题。这应该很简单,只能找到它。
答案 0 :(得分:1)
可以使用子查询完成:
select st.Name
from Social_Tbl st
where not exists (
select *
from Organization_tbl ot
where st.Name = ot.Name
and ot.Organization = 1234
)
(这也会返回Organization_tbl
中没有条目的名称。)