Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memutar Berbilang Lajur dalam Pelayan SQL Menggunakan Pernyataan PIVOT Berbilang?
Dalam jadual pangkalan data di mana data disusun dalam baris dan lajur, kadangkala ia menjadi perlu untuk mengubah struktur jadual dengan menukar baris dengan lajur. Teknik ini dikenali sebagai pivoting.
Senario:
Anda mempunyai jadual sampel dengan lajur seperti Cawangan, Kategori, Jualan, Stok dan Sasaran. Anda ingin memutar jadual menggunakan lajur Kategori dan susun lajur yang tinggal (Jualan, Stok, Sasaran) sebagai baris. Output yang diingini harus mempunyai kategori sebagai lajur dan nilai sebagai baris.
Penyelesaian:
Untuk memutar jadual, anda boleh menggunakan berbilang pernyataan PIVOT dengan pengubahsuaian nama lajur yang sesuai:
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
Dengan mengubah suai nama lajur (cth., Kategori '1' dan Kategori '2'), anda boleh memastikan bahawa penyata PIVOT berfungsi dengan betul.
Jadual perantaraan (pv1, pv2, pv3) masing-masing akan menyediakan data pangsi untuk Jualan, Stok dan Sasaran. Anda kemudiannya boleh mengagregatkan hasil pv3 kepada kumpulan dan menjumlahkan nilai seperti yang diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Memutar Berbilang Lajur dalam Pelayan SQL Menggunakan Pernyataan PIVOT Berbilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!