Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara membuat kueri pivot di server sql tanpa fungsi agregat

SELECT *
FROM
(
SELECT [Period], [Account], [Value]
FROM TableName
) AS source
PIVOT
(
    MAX([Value])
    FOR [Period] IN ([2000], [2001], [2002])
) as pvt

Cara lain,

SELECT ACCOUNT,
      MAX(CASE WHEN Period = '2000' THEN Value ELSE NULL END) [2000],
      MAX(CASE WHEN Period = '2001' THEN Value ELSE NULL END) [2001],
      MAX(CASE WHEN Period = '2002' THEN Value ELSE NULL END) [2002]
FROM tableName
GROUP BY Account
  • Demo SQLFiddle (kedua kueri )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana membandingkan datetime dengan hanya tanggal di SQL Server

  2. Pemicu pembaruan SQL hanya ketika kolom diubah

  3. Jenis teks, nteks, dan data gambar> tidak dapat dibandingkan atau diurutkan, kecuali jika menggunakan operator IS NULL atau LIKE>

  4. 4 Tipe Data yang Akan Ditinggalkan di SQL Server

  5. INFORMATION_SCHEMA vs sysobjects