SQL查询问题,求解!
写了一个多表联合查询,得出的结果如下,
年份 月份 金额
2010 1 16343452.2900
2011 1 34714865.7800
2012 1 23177526.9500
2010 2 5121401.5100
2011 2 16997526.3300
2012 2 24160669.4600
2010 3 28610693.5200
2011 3 25971268.5300
2012 3 25628081.1200
2010 4 28074691.0000
2011 4 30419215.0300
2012 4 25091458.9600
2010 5 25869667.9900
2011 5 20642975.2800
2012 5 26496561.5900
2010 6 11200870.5900
2011 6 22167706.0000
2010 7 27954602.5800
2011 7 23542639.2200
2010 8 27273035.9200
2011 8 24329271.8200
2010 9 23234301.1400
2011 9 35396877.4500
2010 10 26076753.9400
2011 10 26727053.0500
2010 11 24883698.6200
2011 11 19087985.8200
2010 12 21339280.3600
2011 12 464040452.7700
请问如何实现下列排序效果呢?
年份 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2010 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额
2011 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额
2012 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额 金额
------解决方案--------------------
行列转换
SQL code
SELECT 年份
,SUM(CASE 月份 WHEN 1 THEN 金额 ELSE 0 END) AS [1月]
,SUM(CASE 月份 WHEN 2 THEN 金额 ELSE 0 END) AS [2月]
...
,SUM(CASE 月份 WHEN 12 THEN 金额 ELSE 0 END) AS [12月]
FROM (
--这里写你原来的查询语句
) AS T
GROUP BY 年份