Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Achatar linhas da tabela em colunas no SQL Server


Se você tem um número conhecido ou máximo de colunas desejadas, você pode fazer um PIVOT simples, caso contrário, você precisaria ir DYNAMIC

Exemplo
 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

Devoluções
Code        Data1   Data2   Data3   Data4   Data5
SL Payroll  22      33      43      NULL    NULL