sql >> Base de Datos >  >> RDS >> Sqlserver

Aplane las filas de la tabla en columnas en SQL Server

Si tiene un número máximo o conocido de columnas deseadas, puede hacer un PIVOTE simple; de ​​lo contrario, deberá ir a DINÁMICO

Ejemplo

 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

Devoluciones

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