【发布时间】:2017-01-21 08:15:20
【问题描述】:
我有一个 tblA,我有几千个客户。我正在尝试编写一个查询,该查询将向我显示具有多个特定类型记录的客户。这就是我的桌子的样子。
ClientID TypeB
123 1
145 1
123 2
199 1
199 2
145 2
123 1
正如您在此处看到的(这不是一个完整的表格,但这只是相关的)。每个客户端应该只有一条 TypeB=1 和 TypeB=2 的记录。然而,一些客户(123)有不止一条 TypeB=1 的记录。我正在尝试查找具有多个 Type=1 记录的所有客户端。
期望的最终结果:
ClientID TypeB
123 1
123 1
这就是我一直在尝试做的事情
select distinct(clientid), TypeB
from tblA
where TypeB=1
having count(TypeB)>1
group by clientid
【问题讨论】:
-
我知道您已经接受了答案,但我会注意到您实际上只需要在查询中反转
having和group by。TypeB上的分组不是解决方案的必要部分。 -
@shawnt00 - 我注意到它已经足够接近了。但有时我尝试构建一个查询,但我一直在 sql server 中收到错误,这很烦人,但我很接近。谢谢!
标签: sql sql-server select sql-server-2012