一个简单的SQL,高手帮忙写.
S表中:
type acct_month charge
DDN及其它2006102440.5
DDN及其它2006111577.2
DDN及其它20061215555.64
公话超市20061037.41
公话超市2006111681.51
公话超市20061259994.4
甲类电话2006101159.58
甲类电话2006115699.18
甲类电话200612105507.23
甲类宽带2006104750.28
甲类宽带20061110993.9
甲类宽带200612137772.27
其它公话200610110
其它公话200611149.15
其它公话200612481.89
想得到结果:
type200610200611200612总计
DDN及其它2440.51577.215555.6419573.34
公话超市37.411681.5159994.461713.32
甲类电话1159.585699.18105507.23112365.99
甲类宽带4750.2810993.9137772.27153516.45
其它公话110149.15481.89741.04
总计8497.7720100.94319311.43347910.14
说白了就是实现EXCEL中 "数据透视表 "功能
用SQL语句应该怎么写?
[解决办法]
SELECT TYPE,
SUM(CASE acct_month WHEN '200610 ' THEN charge ELSE NULL END) NY200610,
SUM(CASE acct_month WHEN '200611 ' THEN charge ELSE NULL END) NY200611,
SUM(CASE acct_month WHEN '200612 ' THEN charge ELSE NULL END) NY200612
FROM TEST123 GROUP BY TYPE;