我想在 MS SQL 2008 中对 2 个表进行透视,以便在一行中检索一个包含所有可用答案的调查问题。
表1是“问题”
ID   Text
1    What is your gender
2    Are you married
3    What is your Ethnicity
表 2 为每个问题提供“答案”
ID   QuestionID   Text
1    1            Male
2    1            Female
3    2            Yes
4    2            No
5    3            Caucasian
6    3            African/Black
7    3            Hispanic
8    3            Asian
etc.
我希望我的查询结果如下所示:
QuestionID  QuestionText             Ans1       Ans2            Ans3      Ans4
1           What is your gender      Male       Female          Null      Null
2           Are you married          Yes        No              Null      Null
3           What is your Ethnicity   Caucasian  African/Black   Hispanic  Asian
我尝试了 10 种不同的 Pivot、CTE 和子查询组合,但都没有成功。
我应该提到没有“答案序列”列(还)。真正的数据库有 200 多个问题和 700 个答案,随时可能发生变化,因此对每个值进行编码是不切实际的。
感谢您的洞察力。