Sinergi FOR XML PATH dan fungsi STUFF dalam SQL Server
Dalam SQL Server, gabungan fungsi FOR XML PATH
dan STUFF
memainkan peranan penting dalam menyusun dan menggabungkan data. Mari kita pecahkan mekanismenya untuk mencapai matlamat yang diingini:
1 Gunakan 'UNTUK LALUAN XML' untuk mengekstrak rentetan elemen XML
FOR XML PATH
Tukar hasil pertanyaan kepada elemen XML. Dengan meninggalkan nama elemen, ia mengeluarkan senarai nilai yang dipisahkan koma, seperti yang ditunjukkan dalam contoh:
<code class="language-sql">SELECT ',' + name FROM temp1 FOR XML PATH('')</code>
2. Gunakan STUFF untuk mengalih keluar koma di hadapan
STUFF
digunakan untuk mengubah suai rentetan dengan menggantikan aksara yang ditentukan. Dalam contoh ini, kami mengalih keluar koma utama dalam rentetan XML:
<code class="language-sql">STUFF((SELECT ',' + NAME FROM temp1 FOR XML PATH('')), 1, 1, '')</code>
3. Lakukan sertai untuk menjana senarai
Akhir sekali, senarai yang diubah suai digabungkan dengan jadual asal melalui lajur 'id':
<code class="language-sql">SELECT ID, abc = STUFF(( SELECT ',' + name FROM temp1 t1 WHERE t1.id = t2.id FOR XML PATH ('')) , 1, 1, '') from temp1 t2 group by id;</code>
Gabungan ini menggabungkan nilai lajur 'Nama' dengan berkesan untuk setiap 'Id' , menghasilkan output yang dijangkakan:
<code>Id | Name ------------------- 1 | aaa,bbb,ccc,ddd,eee</code>
Atas ialah kandungan terperinci Bagaimanakah `FOR XML PATH` dan `STUFF` Bergabung untuk Menggabungkan Data dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!