求SQL求和统计语句的写法
有一个表如下:
名称 类别 数量
A001 A 10
B102 A 15
A002 B 12
C001 C 25
A001 B 11
B102 D 10
A001 A 13
以下略。。。
需要生成一个汇总表,格式为:
名称 A类 B类 C类 D类
A001 23 11
A002 12
B102 15 10
C001 25
请哪位大侠帮我写这个SQL语句(我用的是SQL2005),先谢了。
[解决办法]
select 名称,sum(case when 类别='A' THEN 数量 ELSE 0 END),
sum(case when 类别='B' THEN 数量 ELSE 0 END),
...
from tt group by 名称
[解决办法]
OR
select 名称,A,B,C,D
FROM (SELECT * FROM TTP ) AS SS
pivot(sum(数量) FOR 类别 in([A],[B],[C],[D])) AS SS
[解决办法]
请参考:http://www.cnblogs.com/IcefishBingqing/archive/2010/12/22/1913349.html
[解决办法]
select 名称,
sum(case 类别 when 'A' then 数量 end) as A类,
sum(case 类别 when 'B' then 数量 end) as B类,
sum(case 类别 when 'C' then 数量 end) as C类,
sum(case 类别 when 'D' then 数量 end) as D类
from 有一个表
group by 名称