Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Spłaszcz wiersze tabeli w kolumny w SQL Server

Jeśli masz znaną lub maksymalną liczbę pożądanych kolumn, możesz wykonać prosty PIVOT, w przeciwnym razie musisz wybrać opcję DYNAMIC

Przykład

 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

Zwroty

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. SQLCLR i DateTime2

  2. SSRS 2008 — Jednolite legendy wykresów dla raportu z wieloma wykresami

  3. Jak programowo sprawdzić (przeanalizować) ważność instrukcji TSQL?

  4. DateTimeOffset. Now w T-SQL

  5. Wymuś INSERT tylko za pomocą procedury składowanej