1

以下を返す単純な選択クエリがあるとします。

ID   Name1 Name2 Description1 Description2 Notes1 Notes2
1     A     B       AA              BB       AAA    BBB
2     C     D       CC              DD       CCC    DDD

次のようにデータセットを返したい:

ID ColumnName    1st   2nd
1   Name           A   B
1   Description   AA   BB
1   Notes        AAA   BBB
2   Name           C   D
2   Description   CC   CC
2   Notes        DDD   DDD

SQLサーバー2008-r2でそれを行う方法はありますか? それはPIVOTの仕事のように見えますが、PIVOTでこれを達成する方法について混乱しています

4

1 に答える 1

3

値が静的であるか、実際の値でパッチを適用するのがそれほど苦痛ではないほど多くない場合は、これを使用できます。

SELECT ID, 'Name' ColumnName, Name1 '1st', Name2 '2nd'
FROM YourTable
UNION
SELECT ID, 'Description' ColumnName, Description1 '1st', Description2 '2nd'
FROM YourTable
UNION
SELECT ID, 'Notes' ColumnName, Notes1 '1st', Notes2 '2nd'
FROM YourTable

データの正規化が非常に重要である理由のさらに別の優れた例。

于 2012-04-17T00:51:12.623 に答える