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

Contoh Pivot sederhana

SELECT MasterID, 
  [Basic Phone] = MAX([Basic Phone]),
  [Pixi] = MAX([Pixi]),
  [Blackberry] = MAX([Blackberry])
FROM
(
  SELECT MasterID, [Basic Phone],[Pixi],[Blackberry]
  FROM dbo.Services AS s
  PIVOT 
  (
    MAX([Status]) FOR [Type] IN ([Basic Phone],[Blackberry],[Pixi])
  ) AS p
) AS x
GROUP BY MasterID;

Atau lebih sederhana - dan kredit ke @YS. untuk menunjukkan redundansi saya.

SELECT MasterID, 
  [Basic Phone],
  [Pixi],
  [Blackberry]
FROM
(
  SELECT MasterID, Status, Type FROM dbo.Services
)
AS s
PIVOT 
(
  MAX([Status]) FOR [Type] IN ([Basic Phone], [Blackberry], [Pixi])
) AS p;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klausa OrderBy menghasilkan set hasil yang berbeda ketika kolom pesanan memiliki data yang sama

  2. bisakah kita memiliki kunci asing yang bukan kunci utama di tabel lain?

  3. dapatkan bagian tanggal hanya dari nilai datetime menggunakan kerangka entitas

  4. Menggunakan DateTime dalam SqlParameter untuk Prosedur Tersimpan, kesalahan format

  5. Pilih Baris yang nilai ekspresi Kolomnya Valid