文章来源: http://ningoo.itpub.net/post/2149/281485
创建测试表,插入测试数据
select * from test 输出结果:
行列转换:
select id,name,[1],[2],[3],[4] from test
pivot
(
sum(profile) for quarter in ([1],[2],[3],[4])
)
as pvt
pivot
(
sum(profile) for quarter in ([1],[2],[3],[4])
)
as pvt
转换后的结果:
假设需要转换的列不固定,可以使用下面方法:
(
SUM(profile) for quarter in (' + @S + ')
)
as pvt')