Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Pivot Berbilang Lajur dalam Pelayan SQL untuk Persembahan Data Optimum?
Memindahkan Berbilang Lajur dalam Pelayan SQL untuk Persembahan Data Optimum
Apabila bekerja dengan pangkalan data hubungan, jadual pangsi boleh menjadi cara yang berkesan untuk membentuk semula data untuk analisis dan visualisasi yang lebih mudah. Dalam SQL Server, teknik ini amat berguna apabila berurusan dengan jadual yang mempunyai berbilang lajur yang anda ingin paparkan sebagai baris.
Pernyataan Masalah:
Pertimbangkan contoh berikut jadual:
Branch | Category | Sales | Stock | Target ------- | ******** | ----- | ----- | ------- Branch1 | Panel | 100 | 200 | 300 Branch1 | AC | 150 | 250 | 350 Branch1 | Ref | 200 | 300 | 400
Matlamatnya adalah untuk memutar lajur Kategori dan memaparkan lajur Jualan, Stok dan Sasaran sebagai baris, menghasilkan output berikut:
Branch | Panel | AC | Ref | ------- | ------ | -- | ---- | Branch1 | 100 | 150 | 200 |
Penyelesaian:
Untuk mencapai output yang dikehendaki, kami boleh menggunakan satu siri pernyataan pangsi dalam SQL Server. Kuncinya ialah menamakan semula lajur dalam hasil pangsi perantaraan untuk menyediakan operasi pangsi seterusnya.
Pertimbangkan kod berikut:
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
Kod ini melaksanakan langkah berikut:
Jadual pv3 yang terhasil mengandungi output yang diingini, dengan kategori sebagai baris dan lajur mewakili jualan, stok, dan nilai sasaran.
Atas ialah kandungan terperinci Bagaimana untuk Pivot Berbilang Lajur dalam Pelayan SQL untuk Persembahan Data Optimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!