使用pivot将行转换为列

时间:2017-02-06 15:40:36

标签: sql sql-server pivot pivot-table

我有一张这样的表:



col1      col2
   00001      21
   00001      12
   00001      34 
   00001      36
   00001      25
   00002      32
   00002      45
   00002      64
   00002      88
   00002      21
   .....

to 
   
   000001     21  12 34  36  25
   000002     32  45 64  88  21
....




我知道可以通过枢轴解决但我无法设法构建正确的查询

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在SO中有很多例子......正如Hart CO所提到的,你在这方面做了什么尝试?

发布我的查询以供参考

;with cte as (
select *, RowN = Row_number() over (partition by col1 order by col1) from #yourtable )
select * from cte
pivot (max(col2) for RowN in ([1],[2],[3],[4],[5])) as p

对于动态列列表,您可以相应地更改