Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Няколко стойности на колони в един ред

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

използвайки 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. Бавно стартиране на SQL Reporting Services 2008 в собствен режим

  2. Как да съкратите всички таблици в база данни с помощта на TSQL?

  3. Създайте временна таблица с динамичен sql в SQL Server 2008

  4. SQL Server Azure / 2022 Database Ledger Tables от Linux.

  5. Как да получите списък с всички езици в SQL Server (T-SQL)