Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengubah Berbilang Lajur Secara Dinamik dalam Pelayan SQL?

Bagaimanakah Saya Boleh Mengubah Berbilang Lajur Secara Dinamik dalam Pelayan SQL?

Mary-Kate Olsen
Lepaskan: 2025-01-04 01:42:40
asal
892 orang telah melayarinya

How Can I Dynamically Pivot Multiple Columns in SQL Server?

Pangsi Dinamik dengan Berbilang Lajur dalam Pelayan SQL

Dalam SQL Server, data pangsi membolehkan anda menukar baris ke dalam lajur, membolehkan data yang lebih intuitif analisis. Apabila berurusan dengan berbilang lajur, menggunakan pendekatan dinamik boleh memenuhi perubahan nama atau nilai lajur.

Nyah Pivot Data

Untuk memutar data secara dinamik dengan berbilang lajur, mulakan dengan menyahpangsi lajur yang berkaitan menggunakan sama ada fungsi UNPIVOT atau CROSS APPLY. Proses ini mengubah berbilang lajur kepada baris, menjadikannya lebih mudah untuk dimanipulasi.

Fungsi PIVOT Dinamik

Setelah dinyahpangsi, anda boleh menggunakan fungsi PIVOT untuk mencipta jadual terpivot. Walau bagaimanapun, nama lajur dalam fungsi PIVOT mesti sejajar dengan data yang tidak dipangsi. Untuk mencapai ini secara dinamik, gabungkan nilai lajur dengan metadata masing-masing menggunakan langkah berikut:

  1. Pilih lajur untuk dipangsi dan nyatakan nama bercantumnya dalam pembolehubah @cols.
  2. Bina pertanyaan dinamik dalam pembolehubah @query dengan memasukkan lajur bercantum nama.
  3. Gunakan sp_executesql untuk melaksanakan pertanyaan SQL dinamik dan dapatkan hasil pivoted.

Contoh

Pertimbangkan jadual contoh berikut dengan Lajur Tahun, Jenis, Jumlah dan Kelantangan:

ID YEAR TYPE TOTAL VOLUME
DD1 2008 A 1000 10
DD1 2008 B 2000 20
DD1 2008 C 3000 30

Menggunakan pendekatan pangsi dinamik, anda boleh membuat jadual terpivot dengan struktur berikut:

ID 2008_A_Total 2008_A_Volume 2008_B_Total 2008_B_Volume 2008_C_Total 2008_C_Volume
DD1 1000 10 2000 20 3000 30

Dengan menggabungkan teknik unpivot dan dinamik pivot, anda boleh mengubah dan menganalisis data dengan berkesan dengan pelbagai lajur dalam SQL Server.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Berbilang Lajur Secara Dinamik dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan