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

टीएसक्यूएल पिवट मल्टीपल कॉलम्स

चूंकि आप डेटा के एक से अधिक कॉलम को पिवट करना चाहते हैं, इसलिए मैं सबसे पहले result . को अनपिवोट करने का सुझाव दूंगा , score और grade कॉलम ताकि आपके पास एकाधिक कॉलम न हों लेकिन आपके पास एकाधिक पंक्तियां होंगी।

SQL सर्वर के आपके संस्करण के आधार पर आप UNPIVOT फ़ंक्शन या CROSS APPLY का उपयोग कर सकते हैं। डेटा को अनपिवट करने का सिंटैक्स निम्न के समान होगा:

select ratio, col, value
from GRAND_TOTALS
cross apply
(
  select 'result', cast(result as varchar(10)) union all
  select 'score', cast(score as varchar(10)) union all
  select 'grade', grade
) c(col, value)

डेमो के साथ SQL Fiddle देखें। एक बार जब डेटा अप्रकाशित हो जाता है, तो आप PIVOT फ़ंक्शन लागू कर सकते हैं:

select ratio = col,
  [current ratio], [gearing ratio], [performance ratio], total
from
(
  select ratio, col, value
  from GRAND_TOTALS
  cross apply
  (
    select 'result', cast(result as varchar(10)) union all
    select 'score', cast(score as varchar(10)) union all
    select 'grade', grade
  ) c(col, value)
) d
pivot
(
  max(value)
  for ratio in ([current ratio], [gearing ratio], [performance ratio], total)
) piv;

डेमो के साथ SQL Fiddle देखें। यह आपको परिणाम देगा:

|  RATIO | CURRENT RATIO | GEARING RATIO | PERFORMANCE RATIO |     TOTAL |
|--------|---------------|---------------|-------------------|-----------|
|  grade |          Good |          Good |      Satisfactory |      Good |
| result |       1.29400 |       0.33840 |           0.04270 |    (null) |
|  score |      60.00000 |      70.00000 |          50.00000 | 180.00000 |



  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 सर्वर 2016:एक तालिका बनाएँ

  2. समूह द्वारा SQL सर्वर संचयी योग

  3. SQL सर्वर अंतिम N पंक्तियों का चयन करें

  4. एसक्यूएल सर्वर 2008 डेटाबेस के साथ vb.net या सी # डेस्कटॉप एप्लिकेशन में पावर द्वि रिपोर्ट और डैशबोर्ड एम्बेड करने का कोई तरीका है?

  5. SQL सर्वर के लिए Linux पर चल रहे एप्लिकेशन को Amazon रिलेशनल डेटाबेस सर्विसेज (RDS) से कनेक्ट करना