SQL或MSEXCEL将数据从行转移到列NOT PIVOT或TRANSFORM

我正在尝试使用转置/数据透视(SQL Server 2008),但是MAX函数和TRANSFORM都不适用于我。 有没有办法实现这个不同,或通过使用MSEXCEL?

这是我的

`

<table> <tr><td>Name</td><td>Question</td><td>Answer</td></tr> <tr><td>Respondent 1</td><td>Question 1</td><td>Answer</td></tr> <tr><td>Respondent 1</td><td>Question 2</td><td>Answer</td></tr> <tr><td>Respondent 1</td><td>Question 3</td><td>Answer</td></tr> <tr><td>Respondent 1</td><td>Question 4</td><td>Answer</td></tr> <tr><td>Respondent 1</td><td>Question 5</td><td>Answer</td></tr> <tr><td>Respondent 2</td><td>Question 1</td><td>Answer</td></tr> <tr><td>Respondent 2</td><td>Question 2</td><td>Answer</td></tr> <tr><td>Respondent 2</td><td>Question 3</td><td>Answer</td></tr> <tr><td>Respondent 2</td><td>Question 4</td><td>Answer</td></tr> <tr><td>Respondent 2</td><td>Question 5</td><td>Answer</td></tr> <tr><td>Respondent 3</td><td>Question 1</td><td>Answer</td></tr> <tr><td>Respondent 3</td><td>Question 2</td><td>Answer</td></tr> <tr><td>Respondent 3</td><td>Question 3</td><td>Answer</td></tr> <tr><td>Respondent 3</td><td>Question 4</td><td>Answer</td></tr> <tr><td>Respondent 3</td><td>Question 5</td><td>Answer</td></tr> <tr><td></td></tr> </table> 

`

我想最后的结果是:

`

 <table> <tr><td>Name</td><td>Question 1</td><td>Question 2</td><td>Question 3</td><td>Question 4</td><td>Question 5</td></tr> <tr><td>Respondent 1</td><td>text</td><td>text</td><td>text</td><td>text</td><td>text</td></tr> <tr><td>Respondent 2</td><td>text</td><td>text</td><td>text</td><td>text</td><td>text</td></tr> <tr><td>Respondent 3</td><td>text</td><td>text</td><td>text</td><td>text</td><td>text</td></tr> </table> 

`

这是我尝试和失败的查询︰SELECT Respondent,MAX(CASE WHEN Question ='Question 1'THEN Answer ELSE NULL END)AS'Question 1',MAX(CASE WHEN Question ='Question 2'THEN Answer ELSE NULL END )AS'Question 2'FROM Table GROUP BY Respondent

我认为Excel可能是最好的解决scheme,任何想法?

你可以在sql中使用数据透视表:

 Select * from tablename Pivot( max(Answer) for Question in ([Question1], [Question2],[Question3],[Question4],[Question5])) as pivotTable