sql >> Databasteknik >  >> RDS >> Sqlserver

Platta tabellrader till kolumner i SQL Server

Om du har ett känt eller maximalt antal önskade kolumner kan du göra en enkel PIVOT, annars skulle du behöva gå DYNAMISK

Exempel

 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

Returer

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


  1. Beräkna skillnaden mellan datum i Postgresql

  2. Hur man installerar SQL Server på Windows

  3. Hur infogar man data från en EXECUTE-sats i mySql?

  4. Underfråga i SELECT-satsen (MySQL)