Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Reduzieren Sie Tabellenzeilen in Spalten in SQL Server

Wenn Sie eine bestimmte oder maximale Anzahl gewünschter Spalten haben, können Sie einen einfachen PIVOT ausführen, andernfalls müssten Sie zu DYNAMISCH wechseln

Beispiel

 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

Rückgaben

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