如何根据另一列的一个元素排除一个组?

时间:2013-09-04 14:43:26

标签: sql sql-server

我有一个如下所示的数据集:

    Claim   Type
    0       1
    107444  2
    107444  5
    107445  2
    107446  2

等...

这个简单的查询结果:

    select Claim,[Type] from myTbl
    Group by Claim,[Type]
    order by Claim

我想编写一个完全排除Type = 5的声明的查询,因此结果如下:

    Claim   Type
    0       1
    107445  2
    107446  2

关于如何实现这一目标的任何想法?

2 个答案:

答案 0 :(得分:1)

您可以使用where子句中的逻辑执行此操作:

select Claim, [Type]
from myTbl
where claim not in (select Claim from myTbl where [Type] = 5)

答案 1 :(得分:1)

您想使用HAVING子句。

http://www.w3schools.com/sql/sql_having.asp