我需要选择名称条目,其中没有一行符合特定要求。最好将其描述为一个示例 - 让我们考虑下表:
Name Number ID
A 1 2
A 2 2
B 1 2
B 2 3
C 3 3
要求是Number = ID。对于名称B,情况绝对不是这样,所以我想返回名称B.
Name Number ID
A 1 2
A 2 2 <---- fulfills requirement for A
B 1 2
B 2 3
C 3 3 <---- fulfills requirement for C
这在SQL中是否可行?
答案 0 :(得分:1)
您可以使用NOT EXISTS条款
select * from Table1 t1
where not exists (select null
from Table1
where t1.Name = Name
and Number = Id)
如果您只想要不符合要求的名称,只需将选择更改为
即可select distinct t1.Name
请参阅SqlFiddle两个版本。
答案 1 :(得分:1)
试试这个
Select Name
from table
where name not in (Select distinct name from table where number = id )