Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2008 में PIVOT का उपयोग करना

असल में, आप क्लाइंट में ऐसा करने से बेहतर होंगे। मान लें कि आप रिपोर्टिंग सेवाओं का उपयोग कर रहे हैं, अपने पहले परिणाम सेट के अनुसार डेटा प्राप्त करें और इसे मैट्रिक्स का उपयोग करके प्रदर्शित करें, जिसमें पंक्ति समूह में लेखक_आईडी और समीक्षा_आईडी, कॉलम समूह में प्रश्न_आईडी और बीच में 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रभावित तालिका SQL लॉग करने के लिए ट्रिगर बनाएं?

  2. एक बच्चे के लिए सभी माता-पिता प्राप्त करें

  3. SQL सर्वर में MIN और MAX कुल कार्य

  4. SQL सर्वर प्रबंधन स्टूडियो (SSMS) के साथ डेटाबेस डिज़ाइन सीखें - भाग 2

  5. जांचें कि लिंक किए गए सर्वर पर RPC आउट सक्षम है या नहीं