比方说,我有下表代表用户调查系统的结果。如何动态将行值转换为不含聚合的列?
SurveyID ResponseID QuestionID Answer
-------- ---------- ---------- ------
1 1 1 'Answer 1'
1 1 2 'Answer 2'
1 1 3 'Answer 3'
1 2 1 'red'
1 2 2 'blue'
1 2 3 'green'
我想要的是如下所示的枢轴输出。
SurveyID ResponseID Q1 Q2 Q3
-------- ---------- -- -- --
1 1 'Answer 1' 'Answer 2' 'Answer 3'
1 2 'red' 'blue' 'green'
我知道如何做到这一点,如果有永远只有三个同样的问题,但这个数据库主机可能有任意数量的独特QuestionIDs的,所以我需要的Q1,Q2,Q3列是动态的,根据多个调查根据调查问题的数量和标识。
我认为这将是一个相当标准的问题,但我找不到任何完全满足此问题的东西。任何解决方案都必须与SQL Server 2005一起工作。
希望有道理。谢谢。
看看第二个答案此链接http://stackoverflow.com/questions/17700957/dynamic-pivot-for-multiple-columns/17701731?noredirect=1#comment25796267_17701731...does上的东西那你寻找 –
你有多少个问题? –