很抱歉,如果标题没有意义。
我有以下数据:
AgtID | AppsStatusType | ColPrem
--------------------------------
1234 | PD | 10.00
1234 | IS | 50.00
5678 | CP | 25.00
5678 | IS | 25.00
5678 | PD | 100.00
我需要通过AgtID对这些进行分组,然后得到所有IS或CP的总和,以及所有PD的总和。最终结果应如下所示:
AgtID | IS/CP | PD
-----------------------
1234 | 50.00 | 10.00
5678 | 50.00 | 100.00
有什么建议吗?我在SQL 2005中。
答案 0 :(得分:3)
你可以这样做,例如,使用带有case子句的和。
select
AgtId,
SUM(case when AppsStatusType IN ('IS', 'CP') then ColPrem else 0 end) as IS_CP,
SUM(case when AppsStatusType = 'PD' then ColPrem else 0 end) as PD
FROM yourtable
GROUP BY AgtId
请参阅SqlFiddle
答案 1 :(得分:1)
select
AgtID ,
sum(case when AppsStatusType in ('IS','CP') then ColPrem else 0 end ) as [IS/CP],
sum(case when AppsStatusType in ('PD') then ColPrem else 0 end ) as [PD]
from your_table
group by Agtid