2012-01-16 16 views
1

データをこの形式に出力するストアドプロシージャ内にSELECTがあります。データの列を含む行をキー値の列を持つ複数の行に変換します

  A  B  C 
rowkey 1  2  3 

私はこのような何かにそれを変換する必要があります。

  key value 
rowkey A 1 
rowkey B 2 
rowkey C 3 

は、どのように私はこれに変換して行くべきですか?

私はSELECTステートメントに触れることはできないので、おそらくテンポラリテーブルを作成する方法を見つけてください。

+1

この答えはあなたのSQLサーバーでいくつかのメソッドを表示することができます。 http://stackoverflow.com/questions/2113251/tsql-help-with-unpivot –

答えて

1

これはあなたがSQL 2005以上にならあなたが軌道に乗るべき...

あなたは、以下のようなもので、それを変換し、その後、テーブル変数にあなたの内部のSELECTの結果を格納します:

DECLARE @test TABLE (rowkey int identity, A int, B int, C int) 

INSERT INTO @test (A, B, C) 
VALUES (1, 2, 3) 

SELECT rowkey, [Key], [Value] 
FROM 
(SELECT rowkey, A, B, C 
FROM @test) t 
UNPIVOT 
([Value] FOR [Key] IN 
    (A, B, C) 
) AS u 
関連する問題