असल में, आप क्लाइंट में ऐसा करने से बेहतर होंगे। मान लें कि आप रिपोर्टिंग सेवाओं का उपयोग कर रहे हैं, अपने पहले परिणाम सेट के अनुसार डेटा प्राप्त करें और इसे मैट्रिक्स का उपयोग करके प्रदर्शित करें, जिसमें पंक्ति समूह में लेखक_आईडी और समीक्षा_आईडी, कॉलम समूह में प्रश्न_आईडी और बीच में MAX(answer_id) है। पी>
एक क्वेरी करने योग्य है, लेकिन आपको अभी गतिशील SQL की आवश्यकता होगी।
...कुछ इस तरह:
DECLARE @QuestionList nvarchar(max);
SELECT @QuestionList = STUFF(
(SELECT ', ' + quotename(question_id)
FROM YourTable
GROUP BY question_id
ORDER BY question_id
FOR XML PATH(''))
, 1, 2, '');
DECLARE @qry nvarchar(max);
SET @qry = '
SELECT author_id, review_id, ' + @QuestionList +
FROM (SELECT author_id, review_id, question_id, answer_id
FROM YourTable
)
PIVOT
(MAX(AnswerID) FOR question_id IN (' + @QuestionList + ')) pvt
ORDER BY author_id, review_id;';
exec sp_executesql @qry;