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

गतिशील कॉलम के साथ एसक्यूएल पिवट

जैसा कि आपकी सूची में (आपकी टिप्पणी से) कर्मचारियों की एक निर्धारित संख्या है, आपको गतिशील होने की आवश्यकता नहीं है। एक नियमित धुरी को काम करना चाहिए:

select [Company Name],Emp1,Emp2,Emp3,Emp4  from (
    SELECT
        [Company Name],
        [Employee Name],
        'Emp' + cast(ROW_NUMBER() OVER (PARTITION BY [Comp ID] ORDER BY  [Design ID], [Emp ID] desc) as char(2)) as RowNum
    FROM
    (
        SELECT emp.[Emp ID],
            comp.[Company Name],
            design.[Designation],
            emp.[Design ID],
            emp.[comp id],
            emp.[Employee Name],
            ROW_NUMBER() OVER (PARTITION BY emp.[Comp ID], emp.[Design ID] ORDER BY emp.[Comp ID] desc, emp.[Design ID] desc, emp.[Emp ID] desc) RowNum
        from employee as emp
            join designation as design on design.[Design ID]=emp.[Design ID]
            join company as comp on comp.[Comp ID]=emp.[Comp ID]
    ) a
    WHERE RowNum <=2
) as pivotdata
pivot (max([Employee Name]) for [RowNum] in (Emp1,Emp2,Emp3,Emp4)) as P



  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 सर्वर BLOB फ़ील्ड से/से डेटा कैसे स्ट्रीम करें?

  3. SQL सर्वर पर कुशल ISNUMERIC () प्रतिस्थापन?

  4. SQL सर्वर:तालिका मेटा-डेटा निकालें (विवरण, फ़ील्ड और उनके डेटा प्रकार)

  5. कोल्डफ्यूजन को SQL सर्वर डेटाबेस इंस्टेंस से कनेक्ट करें