sql >> Database >  >> RDS >> Sqlserver

Maak tabelrijen plat in kolommen in SQL Server

Als u een bekend of maximaal aantal gewenste kolommen heeft, kunt u een eenvoudige PIVOT uitvoeren, anders moet u DYNAMISCH gaan

Voorbeeld

 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

Retourneren

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


  1. Verschillende gevallen met uitvoer op dezelfde rij

  2. Een MySQL-database leegmaken

  3. insert statement in postgre voor datatype timestamp zonder tijdzone NOT NULL,

  4. Zoeken in volledige tekst in MySQL:The Good, the Bad and the Ugly