2016-04-29 12 views
0

私はこのように私のデータを格納するテーブルを持っている:列の値を列に切り替える方法は?

 
ID Name Value 
1 Tag1 20 
2 Tag2 30 
3 Tag3 40 

私はこのような各タグの値を表示したい:

 
ID Tag1 Tag2 Tag3 
1 20 30 40 

私は1つの列のためにこれを試してみました:

SELECT   
    ID 
    ,Value AS Tag1 
FROM 
    dbo.TableLogger 
WHERE 
    (Name = 'Tag1') 

残りの列はどうすればよいですか?

+0

ピボット!!!!!!! http://24.media.tumblr.com/6b6265de049e4b4b918ec66572b2d40f/tumblr_mh5fmkj58S1rycrkjo1_500.gif –

+0

どうすればいいですか?ありがとう! – magn

+0

答えは以下を参照 –

答えて

0
SELECT ID, 
[Tag1], [Tag2], [Tag3] 
FROM 
(SELECT ID, Value,Name 
    FROM TableLogger) AS SourceTable 
PIVOT 
(
MAX(Value) 
FOR Name IN ([Tag1], [Tag2], [Tag3]) 
) AS PivotTable; 
+0

すべての値を表示する方法はありますか? max(値)だけでなく、 – magn

+0

IDに対して複数のタグ1を使用できますか? –

+0

いいえ。私はちょっと混乱しました。できます。どうもありがとう! – magn

関連する問題