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

Row_Number () के साथ डायनेमिक पिवट की आवश्यकता

cte . का उपयोग करके , row_number . के साथ आप परिणाम प्राप्त कर सकते हैं:

आपकी योजना:

create table your_table([Client ID] int ,Value varchar(50));
insert into your_table values
(12345,            'Did Not Meet'),
(12345,            'Did Not Meet'),
(12345,            'Partially Met'),
(12346,            'Partially Met'),
(12346,            'Partially Met'),
(12346,            'Partially Met'),
(12347,            'Partially Met'),
(12347,            'Partially Met'),
(12347,            'Did Not Meet'),
(12347,            'Met');

प्रश्न:

with cte as
(
 select [Client ID] ci,value,
        row_number() over(partition by [Client ID] order by value) as rn
 from your_table
)
select distinct ci as [Client ID],
       (select ct.value from cte ct where ct.ci=cte.ci and ct.rn=1) value1,
       (select ct.value from cte ct where ct.ci=cte.ci and ct.rn=2) value2,
       (select ct.value from cte ct where ct.ci=cte.ci and ct.rn=3) value3,
       (select ct.value from cte ct where ct.ci=cte.ci and ct.rn=4) value4
from cte

परिणाम:

Client ID   value1          value2          value3          value4
12345       Did Not Meet    Did Not Meet    Partially Met   (null)
12346       Partially Met   Partially Met   Partially Met   (null)
12347       Did Not Meet    Met Partially   Met Partially    Met



  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. SQL सर्वर में बल्क इंसर्ट का उपयोग करके UTF-8 वर्ण कैसे लिखें?

  3. मैं EntityFramework 7 और Asp.Net 5 का उपयोग करके SQL संग्रहीत कार्यविधि को कैसे कॉल कर सकता हूँ?

  4. JDBC का उपयोग करके Microsoft SQL Server 2008 R2 में संग्रहीत प्रक्रिया में टेबल-वैल्यूड पैरामीटर्स (ऐरे-लाइक पैरामीटर) को कैसे पास करें?

  5. SQL सर्वर 2008 में संग्रहीत कार्यविधि को डिक्रिप्ट कैसे करें