0

私は以下のデータを持っています:

Id  names   namevalues
1   name1   first value1
1   name2   first value2
2   name1   second value1
2   name2   second value2

DDLは次のとおりです。

Declare @t table(Id int, names varchar(50),namevalues varchar(100))
Insert Into @t select 1,'name1','first value1'
Insert Into @t select 1,'name2','first value2'
Insert Into @t select 1,'name1','second value1'
Insert Into @t select 1,'name2','second value2'

select * from @t

期待される出力は次のとおりです。

Id  name1           name2
1   first value1    first value2
2   second value1   second value2

私の試み:

SELECT *
FROM  @t AS src 
PIVOT ( 
    MAX(namevalues) FOR namevalues IN ([name1],[name2] ) 
) AS pvt 

しかし、これは間違っています。どうすれば修正できますか?

4

1 に答える 1

1

namesnamevalues列ではなく、列をピボットしているので、

SELECT * 
FROM  @t AS src  
PIVOT (  
    MAX(namevalues) FOR names IN ([name1],[name2] )  
) AS pvt 
于 2012-10-22T12:50:42.267 に答える