在Pivoting方面需要帮助

时间:2012-10-22 12:48:25

标签: sql sql-server-2008

我有以下

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 

这是错误的......

请帮忙

1 个答案:

答案 0 :(得分:1)

您正在转动names列,而不是名称值列,所以

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