当前位置: 代码迷 >> Sql Server >> Sqlserver 2008取本季度12周集锦数据并组成一张表
  详细解决方案

Sqlserver 2008取本季度12周集锦数据并组成一张表

热度:56   发布时间:2016-04-25 01:09:04.0
Sqlserver 2008取本季度12周汇总数据并组成一张表
问题描述如下:
有一个表,存着本季度所有数据,然后我要实现的是根据本季度周汇总,然后用一张表格显示出来,每周一列

year   quarter  week  amount
2012    4        39     100
2012    4        40     100.
.
.
.
.
2012    4        52     200



显示结果:
year  Quarter  Week1  Week2  ... Week12
2012     4      100    100   ...  200

求指教~~~
------最佳解决方案--------------------
DECLARE @s NVARCHAR(4000)
SET @s = ''
SELECT  @s = @s + ',' + QUOTENAME([week]) + '=max(case when [week]='
        + QUOTENAME([week], '''') + ' then [amount] else 0 end)'
FROM    tb
GROUP BY [year],[quarter]
EXEC('select [year],[quarter]'+@s+' from tb group by [year],[quarter]')
 
  相关解决方案