Cara Mengubah Berbilang Lajur dalam SQL Server
Masalah:
Andaikan anda mempunyai jadual dengan lajur yang mewakili kategori item (cth., Panel, AC, Ref) dan data seperti jualan, saham, dan sasaran. Anda ingin menukar data ini kepada format terpivot yang mana kategori menjadi baris dan lajur menyimpan data masing-masing untuk setiap kategori (jualan, stok, sasaran).
Penyelesaian:
Untuk mencapai matlamat ini, anda boleh menggunakan berbilang penyataan pangsi dalam SQL Pelayan:
SELECT * FROM ( SELECT Branch, Category, Category+'1' As Category1, Category+'2' As Category2, Sales, Stock, Target FROM TblPivot ) AS P -- For Sales PIVOT ( SUM(Sales) FOR Category IN ([Panel], [AC], [Ref]) ) AS pv1 -- For Stock PIVOT ( SUM(Stock) FOR Category1 IN ([Panel1], [AC1], [Ref1]) ) AS pv2 -- For Target PIVOT ( SUM(Target) FOR Category2 IN ([Panel2], [AC2], [Ref2]) ) AS pv3 GO
Penjelasan:
Setelah pemutaran selesai, anda boleh mengagregatkan keputusan atau melakukan manipulasi data selanjutnya sebagai diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Pivot Berbilang Lajur (Jualan, Stok, Sasaran) Serentak dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!