Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wiele wartości kolumn w jednym wierszu

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

za pomocą 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać procedurę składowaną MSSQL za pomocą biblioteki ADOdb PHP?

  2. SQL — Wybierz najnowszy rekord, gdy istnieje duplikat

  3. Jak sparametryzować ciąg połączenia z bazą danych w pakiecie SSIS?

  4. SQL SELECT wiele warunków relacja wiele do wielu

  5. Używanie PIVOT i JOIN razem