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

एकत्रीकरण के बिना एकाधिक स्तंभों को कैसे पिवट करें

row_number() Use का इस्तेमाल करें कार्य करें और सशर्त करें एकत्रीकरण :

select id, IdCust, Ref,
       max(case when Seq = 1 then stock end) as [Stock A], -- second table *id*
       max(case when Seq = 1 then code end) as [Code 1],
       max(case when Seq = 1 then price end) as [Price1],
       max(case when Seq = 2 then stock end) as [Stock B], -- second table *id*
       max(case when Seq = 2 then code end) as [Code 2],
       max(case when Seq = 2 then price end) as [Price2]
from (select f.*, s.Id Stock, s.Code, s.Price,
             row_number() over (partition by f.Ref order by s.id) as Seq
     from first f
     inner join second s on s.Ref = f.Ref 
     ) t
group by id, IdCust, Ref;

हालांकि, यह ज्ञात . के साथ जाएगा अन्य मूल्यों के लिए आपको गतिशील . के साथ जाना होगा उसके लिए समाधान।



  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. SQL सर्वर सशर्त प्रवाह

  3. pyodbc.connect() काम करता है, लेकिन sqlalchemy.create_engine().connect() नहीं

  4. SQL सर्वर में ट्रिगर की सूची लौटाएं

  5. JSON PATH उदाहरणों के लिए SQL सर्वर (T-SQL)