从表中获取不同的记录

时间:2016-07-07 22:41:37

标签: sql sql-server

我有数据表给出以下结果:

number  code
1        A
1        B
1        A
2        B
2        A
3        A
4        B

如何从代码为A的表中找到不同的数字。该数字应该只有表格中的代码A而表格中没有B. 对于上表:我的答案是3.因为它只有代码A。

2 个答案:

答案 0 :(得分:1)

如果您只想要A,则一种方法是聚合:

select t.number
from t
group by t.number
having min(code) = 'A' and max(code) = 'A';

答案 1 :(得分:0)

SELECT DISTINCT a.number 
FROM TableName a
WHERE a.Code = 'A'
AND NOT EXISTS (Select 1 
                FROM TableName b 
                WHERE a.number = b.number 
                 AND  b.Code = 'B')