sql >> Database >  >> RDS >> Sqlserver

Meerdere kolomwaarden in een enkele rij

SELECT  ID,
        MAX(CASE WHEN status = 5 THEN Status ELSE NULL END) col1,
        MAX(CASE WHEN status = 6 THEN Status ELSE NULL END) col2,
        MAX(CASE WHEN status = 7 THEN Status ELSE NULL END) col3
FROM    tableNAME
GROUP   BY ID

met behulp van PIVOT

SELECT *
FROM   (
          SELECT ID, Status, CASE Status 
                              WHEN 5 THEN 'Col1'
                              WHEN 6 THEN 'Col2'
                              WHEN 7 THEN 'Col3'
                            END Stat
          FROM tableName
        ) src
        PIVOT
        (
          MAX(Status)
          FOR Stat IN ([Col1],[Col2],[Col3])
        ) pivotTbl


  1. Oproep naar een lidfunctie execute() op boolean in

  2. Hoe maak je null gelijk aan null in orakel

  3. Cassandra gebruiken in plaats van memcache?

  4. Krijg OUDE waarde in MySQL-trigger NA updateverklaring