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 に答える