【发布时间】:2018-02-08 12:20:04
【问题描述】:
我有一个需要交换行和列的情况。是的,我尝试过使用 Pivot 和 UnPivot,但这并没有给我想要的结果。
我的源表:
+-------+------+------+-----+-----+
| month | year | po1 | po2 | po3 |
+-------+------+------+-----+-----+
| Jan | 2013 | 100 | 20 | 10 |
| Feb | 2014 | 1100 | 120 | 110 |
+-------+------+------+-----+-----+
我能够制作一个静态枢轴
select Description,value from #test
unpivot (value for Description in (year,po1, po2, po3)) unpiv;
这是我能够生成的结果
+-------------+-------+
| Description | value |
+-------------+-------+
| year | 2013 |
| po1 | 100 |
| po2 | 20 |
| po3 | 10 |
| year | 12013 |
| po1 | 1100 |
| po2 | 120 |
| po3 | 110 |
+-------------+-------+
预期输出:
+------+------+------+
| Desc | Jan | Feb |
+------+------+------+
| year | 2013 | 2014 |
| po1 | 100 | 1100 |
| po2 | 20 | 120 |
| po3 | 10 | 110 |
+------+------+------+
此外,行/列会不断变化,有没有办法让它动态?
【问题讨论】:
标签: sql sql-server pivot unpivot