How to convert rows values into column in sql serv

2019-02-20 20:40发布

问题:

How to convert row into column.I have following result set.

UserID  VendorName  QuestionText AnswerText
1         KK         abc1         ans1
1         KK         abc2         ans2
1         KK         abc3         ans3
2         JJ         abc1         ans2
2         JJ         abc2         ans3
2         JJ         abc3         ans1   

OUTPUT should be:

UserID VendorName   abc1    abc2   abc3
1             KK    ans1    ans2   ans3
2             JJ    ans2    ans3   ans1

Thanks.

回答1:

SELECT UserID, VendorName, [abc1], [abc2], [abc3]
FROM Questions
PIVOT (MAX(AnswerText)
    FOR QuestionText IN ([abc1], [abc2], [abc3])
) AS pvt


回答2:

SELECT grsid,contactid, [1] rejectcode, [12] rejectcode, [89] rejectcode
FROM **rjct1**
PIVOT (MAX(rejectcode)
    FOR rejectcode IN ([1] , [12], [89])
) AS pvt