【发布时间】:2013-07-16 04:48:05
【问题描述】:
假设我有下表代表用户调查系统的结果。
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。
希望这是有道理的。谢谢。
【问题讨论】:
-
看看这个链接上的第二个答案stackoverflow.com/questions/17700957/…你正在寻找的东西
-
你能有几个问题?
标签: sql tsql sql-server-2005 pivot