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

आईडी कॉलम के आधार पर पंक्तियों को कॉलम में स्थानांतरित करें

आप इसके लिए SQL सर्वर पिवट क्लॉज का उपयोग कर सकते हैं:

select
    p.*
from Table1
pivot(
    max([Field Selection])
    for [Field Name] in ([Rating 1], [Rating 2], [Rating 3])
) as p

या आप मैन्युअल रूप से पिवट कर सकते हैं:

select
    ID,
    max(case when [Field Name] = 'Rating 1' then [Field Selection] end) as [Rating 1], 
    max(case when [Field Name] = 'Rating 2' then [Field Selection] end) as [Rating 2],
    max(case when [Field Name] = 'Rating 3' then [Field Selection] end) as [Rating 3]
from Table1
group by ID

sql fiddle डेमो




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

  2. डेटाबेस को खोला नहीं जा सकता क्योंकि यह संस्करण 851 है। यह सर्वर संस्करण 782 और इससे पहले के संस्करण का समर्थन करता है। डाउनग्रेड पथ समर्थित नहीं है

  3. आउटपुट क्लॉज पर फ़िल्टर करें sql

  4. एक ट्रिगर बनाएं जो एक कॉलम अपडेट होने पर एक नई तालिका में मान सम्मिलित करता है

  5. मान को अल्पविराम से अलग करने के लिए COALESCE फ़ंक्शन का उपयोग करना