假设我有下表代表用户调查系统的结果。
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'
如果始终只有相同的三个问题,我知道如何实现这一点,但是该数据库托管多个调查,这些调查可能具有任意数量的唯一 QuestionID,因此我需要 Q1、Q2、Q3 列是动态的,具体取决于其数量和 ID调查的问题。
我认为这将是一个相当标准的问题,但我找不到任何完全满足这个问题的东西。任何解决方案都必须适用于 SQL Server 2005。
希望这是有道理的。谢谢。