ユーザー調査システムの結果を表す次の表があるとします。
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'
常に同じ 3 つの質問しかない場合にこれを達成する方法を知っていますが、このデータベースは一意の QuestionID をいくつでも持つことができる複数の調査をホストしているため、その数と ID に応じて Q1、Q2、Q3 列を動的にする必要があります。調査の質問。
これはかなり標準的な問題だと思っていましたが、この問題を完全に満たすものは見つかりませんでした。どのソリューションも SQL Server 2005 で動作する必要があります。
それが理にかなっていることを願っています。ありがとう。