SQL选择不满足某个要求的名称条目

时间:2014-07-02 08:44:52

标签: sql grouping where

我需要选择名称条目,其中没有一行符合特定要求。最好将其描述为一个示例 - 让我们考虑下表:

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中是否可行?

2 个答案:

答案 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 )