使用Microsoft SQL(Server 12.0.4100.1)我有一个简单的查询:
SELECT OrgLevel3, OrgLevel4, complete, COUNT(*)
FROM #reconcile
GROUP BY OrgLevel3, OrgLevel4, complete
ORDER BY 1, 2, 3
完成' column的类型为BIT
,因此为1或NULL。因此,对于此查询,我为每个OrgLevel3 / OrgLevel4配对获得两行。我宁愿得到的是一行,其中包含#34;#Complete"第二列" #Incmplete"。
这可能吗?
答案 0 :(得分:1)
结合总和和案例条件。
flex: 0 auto
答案 1 :(得分:0)
您可以使用Case
或IIF
而不是SUM
SELECT OrgLevel3,
OrgLevel4,
sum(iif(complete=1,1,0)) TotalComplete,
sum(iif(complete IS NULL,1,0)) TotalInComplete,
COUNT(*)
FROM #reconcile
GROUP BY OrgLevel3, OrgLevel4
ORDER BY 1, 2, 3