Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

sql pivot dengan kolom dinamis

Karena Anda memiliki sejumlah karyawan dalam daftar Anda (dari komentar Anda), Anda tidak perlu dinamis. Pivot biasa akan berhasil:

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. Kueri SQL yang melibatkan grup oleh dan bergabung

  2. Apa yang sebenarnya dilakukan metode Statement.setFetchSize(nSize) di driver SQL Server JDBC?

  3. Pernyataan ALTER TABLE bertentangan dengan batasan CHECK di SQL Server - Tutorial SQL Server / TSQL Bagian 89

  4. 'Input yang ditentukan tidak mewakili pengecualian instance geografi yang valid' saat menggunakan SqlGeographyBuilder

  5. SQL Server:Apa perbedaan antara CROSS JOIN dan FULL OUTER JOIN?