我有一个从MS Access SQL查询返回的数据集,看起来像表1。
表1
Year Quarter P1 P2
2013 Q1 1 6
2013 Q2 2 9
2013 Q3 5 1
2013 Q4 6 4
2014 Q1 4 3
2014 Q2 8 2
2014 Q3 6 5
2014 Q4 2 4
2015 Q1 2 3
2015 Q2 1 1
我想将数据转置为表2。
表2
Year Quarter Value P1
2014 Q3 P1 6
2014 Q3 P2 5
2014 Q4 P1 2
2014 Q4 P2 4
2015 Q1 P1 2
2015 Q1 P2 3
2015 Q2 P1 1
2015 Q2 P2 1
我一直在浏览互联网并了解我需要在查询中使用TRANSPOSE
,但我无法弄清楚如何使用它,特别是因为我不想转置两个第一列。
答案 0 :(得分:1)
我认为你可以用union all
:
select year, quarter, 'P1' as value, p1
from table1
union all
select year, quarter, 'P2' as value, p2
from table1;
您可能希望添加where
子句以仅获取所需结果中的行。