Sql 如何基于另一列的一个元素排除组?
我的数据集如下所示:Sql 如何基于另一列的一个元素排除组?,sql,sql-server,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 我想编写一个完全排除类型为5的声明的查询,因此其结果将是: Claim Type 0
Claim Type
0 1
107444 2
107444 5
107445 2
107446 2
等等
此简单查询的结果是:
select Claim,[Type] from myTbl
Group by Claim,[Type]
order by Claim
我想编写一个完全排除类型为5的声明的查询,因此其结果将是:
Claim Type
0 1
107445 2
107446 2
关于如何实现这一点有什么想法吗?您可以使用
where
子句中的逻辑来实现这一点:
select Claim, [Type]
from myTbl
where claim not in (select Claim from myTbl where [Type] = 5)
您想使用HAVING子句
如果不使用任何聚合,为什么要使用GROUP BY?我们是否假设您使用SQL Server,因为您在列名周围使用了SQL Server分隔符?你也应该用适当的数据库标记你的问题。这就是我要找的,谢谢。当我能回答时,我会记下答案。