Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm phẳng các hàng trong bảng thành các cột trong SQL Server

Nếu bạn có biết hoặc số lượng tối đa các cột mong muốn, bạn có thể thực hiện một PIVOT đơn giản, nếu không, bạn cần phải chuyển sang DYNAMIC

Ví dụ

 Select *
  From (
        Select [Code]
              ,[Data]
              ,[Col] = concat('Data',Row_Number() over (Partition By [Code] Order by 1/0))
         From  YourTable
       ) src
 Pivot (max([Data]) for [Col] in ([Data1],[Data2],[Data3],[Data4],[Data5])) pvt

Trả lại

Code        Data1   Data2   Data3   Data4   Data5
SL Payroll  22      33      43      NULL    NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thủ tục mong đợi tham số không được cung cấp

  2. Cách đặt khóa chính khi liên kết với CreateTableDef

  3. SQL Server IF so với IIF ():Sự khác biệt là gì?

  4. Đang đợi localhost, mãi mãi!

  5. Làm cách nào để chuyển sqlparameter tới IN ()?