Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Appiattisci le righe della tabella in colonne in SQL Server

Se hai un numero massimo o noto di colonne desiderate, puoi fare un semplice PIVOT, altrimenti dovresti andare su DYNAMIC

Esempio

 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

Resi

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