Gabungan pintar penggabungan rentetan SQL Server dan GROUP BY
Dalam SQL Server, terdapat cara yang bijak untuk menggabungkan FOR XML
dan PATH
untuk menggabungkan rentetan dalam operasi GROUP BY
.
Matlamatnya adalah untuk menukar data berikut:
<code>id Name Value 1 A 4 1 B 8 2 C 9</code>
Tukar kepada:
<code>id Column 1 A:4, B:8 2 C:9</code>
Langkah-langkahnya adalah seperti berikut:
Buat jadual sementara: Cipta jadual sementara dengan skema yang sama seperti jadual asal.
Masukkan data sampel: Masukkan data sampel ke dalam jadual sementara.
Sambungkan rentetan menggunakan FOR XML dan PATH: Gabungkan rentetan dalam setiap kumpulan ID menggunakan kaedah FOR XML
dan PATH
. Ini termasuk:
ID
dan Name
. Name
dan Value
untuk setiap rekod dalam kumpulan ID yang sama. ,
dan Name
menggunakan pembatas (contohnya, Value
). FOR XML PATH('')
untuk menukar hasil kepada XML. TYPE
dan value()
. Kumpulkan mengikut ID dan gunakan STUFF: untuk mengumpulkan hasil mengikut ID
. Gunakan fungsi STUFF
untuk mengalih keluar pembatas utama (contohnya, koma) daripada rentetan sambungan.
Pilih Hasil akhir: Memilih ID
dan bercantum Name
dan Value
rentetan sebagai Column
lajur.
Padam jadual sementara: Padam jadual sementara selepas operasi selesai.
Pendekatan ini memanfaatkan kuasa FOR XML
dan PATH
untuk menggabungkan rentetan dengan cekap dalam operasi GROUP BY
tanpa menggunakan kursor, gelung atau fungsi yang ditentukan pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Rentetan Dalam KUMPULAN Pelayan SQL DENGAN Menggunakan FOR XML PATH?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!