我有一个包含三列的表:
Survey QuestionName SurveyQuestion SurveyAnswer
1859 Satisfied? 1 Yes
1859 Comments? 2 Happy with outcome, thanks
1859 Phone Number? 3 Not Answered
2000 Satisfied? 1 No
2000 Comments? 2 Rep was a d1ck.
2000 Phone Number? 3 5166569999
我想要的是一个如下所示的表(注意:不需要SurveyQuestion #3 )
Survey SurveyAnswer1 SurveyAnswer2
1859 Yes Happy with outcome, thanks
2000 No Rep was a d1ck.
我就是想不出该怎么做...我尝试了几种方法,包括LEAD
/LAG
,但都不能正常工作……我想我只是需要有人给我指个方向?
发布于 2020-07-09 16:09:26
这是四列;)
您可以使用旧的aggregate-as-crosstab栗子:
select Survey,
SurveyAnswer1 = max(iif(SurveyQuestion = 1, SurveyAnswer, null)),
SurveyAnswer2 = max(iif(SurveyQuestion = 2, SurveyAnswer, null))
from YourTable
where SurveyQuestion != 3
group by Survey
https://stackoverflow.com/questions/62818906
复制相似问题