我需要将某些问题代码的是或否答案捕获到作为每个特定问题代码的指标的列中。问题代码是设定值,并且为了这个例子,只能是A' A' B'或' C'。
非常感谢任何帮助,我期待着SQL大师能想到的任何答案!
示例输入表:
ID Question Code YesOrNo
1 A Yes
1 B No
1 C No
2 A No
2 B Yes
2 C Yes
3 A No
3 B No
3 C Yes
所需表/视图:
ID A_Answer B_Answer C_Answer
1 Yes No No
2 No Yes Yes
3 No No Yes
澄清这是在SQL Server中。
答案 0 :(得分:1)
您可以执行条件聚合:
SELECT
Id,
A_Answer = MAX(CASE WHEN [Question Code] = 'A' THEN YesOrNo END),
B_Answer = MAX(CASE WHEN [Question Code] = 'B' THEN YesOrNo END),
C_Answer = MAX(CASE WHEN [Question Code] = 'C' THEN YesOrNo END)
FROM Tbl
GROUP BY Id;