1

我有一个查询返回一个如下所示的表:

Location | November | December | January | February | March | ... | October |
   CT        30         70         80         90       60             30
 etc.

我希望它看起来像:

Location |   Month   | Value |
   CT       November    30
   CT       December    70
   CT       January     80
             ...
   CT       October     30

它看起来像一个非透视表,但我没有将它变成那种形式,因为基表将月份作为列(这些值只是按位置分组的值的总和)。我已经看到很多行到列的问题,但我还没有找到一个好的列到行的答案,所以我希望有人能帮助我。

谢谢!

4

1 回答 1

4

您将需要使用该UNPIVOT功能。这会转换列的值并将其转换为行:

select location, month, value
from <yourquery here>
unpivot
(
  value
  for month in (January, February, March, April, May, June, July, August,
                September, October, November, December)
) unpiv

请参阅带有演示的 SQL Fiddle

于 2012-12-06T21:30:57.030 回答