SQL经典问题 行转列

如何将不同选项的行放到同一行的不同列,能否用一句sql实现?


 

 1 SELECT QId,QDTitle,QDContent FROM dbo.tb_QuestionDetail WHERE QId='3' 

QId QDTitle QDContent
3  A   正确
3  B   错误


1 ;WITH Options AS (
2 SELECT QId,QDTitle,QDContent FROM dbo.tb_QuestionDetail WHERE QId='3'
3 )
4 SELECT P.* FROM Options PIVOT( MAX(QDContent) FOR [QDTitle] IN([A],[B],[C],[D]))P

QId   A   B     C     D

3   正确   错误   NULL   NULL

posted @ 2017-11-17 13:19  饭饭的琴麻岛  阅读(97)  评论(1)    收藏  举报