Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menukar Lajur kepada Baris dengan Cekap dalam Pelayan SQL?
Panduan Mendalam untuk Penukaran Lajur dalam Pelayan SQL
Apabila bekerja dengan jadual yang mengandungi sejumlah besar lajur metrik, menukar lajur ini kepada baris boleh menjadi sangat bermanfaat untuk tujuan analisis dan pelaporan. Transformasi ini melibatkan penstrukturan semula data untuk mencipta jadual baharu dengan skema yang berbeza.
Pernyataan Masalah
Pertimbangkan skema jadual berikut:
<code>[ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150]</code>
Matlamatnya ialah untuk menukar lajur metrik ini kepada baris, mencipta jadual baharu dengan skema berikut:
<code>[ID] [EntityId] [IndicatorName] [IndicatorValue]</code>
Penyelesaian menggunakan UNPIVOT
Penyelesaian yang elegan untuk menyelesaikan tugas ini adalah dengan menggunakan fungsi UNPIVOT. Sintaks UNPIVOT adalah seperti berikut:
<code>UNPIVOT ([unpivot column] FOR [pivot column] IN ([pivot values]))</code>
Dalam contoh ini, lajur nyahpivot mewakili nilai penunjuk (contohnya, "Penunjuk1", "Penunjuk2", dll.), manakala lajur pangsi mewakili nama lajur itu sendiri. Pertanyaan berikut menggambarkan cara menggunakan UNPIVOT:
<code>select id, entityId, indicatorname, indicatorvalue from yourtable unpivot ( indicatorvalue for indicatorname in (Indicator1, Indicator2, Indicator3) ) unpiv;</code>
Dengan melaksanakan pertanyaan ini, lajur metrik akan ditukar kepada baris dan nama dan nilai metrik akan mengisi lajur baharu.
Alternatif
Selain UNPIVOT, terdapat cara lain untuk menukar lajur kepada baris:
Pilihan penyelesaian bergantung pada keperluan khusus dan versi SQL Server yang digunakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Lajur kepada Baris dengan Cekap dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!