Gabungan pintar STUFF dan FOR XML PATH dalam SQL Server
Dalam SQL Server, gabungan fungsi STUFF dan FOR XML PATH boleh menyambung dan memproses data dengan cekap. Mari lihat bagaimana kedua-dua fungsi ini berfungsi bersama untuk mencapai output yang diingini.
Peranan FOR XML PATH
UNTUK LALUAN XML Tukar hasil pertanyaan kepada rentetan elemen XML. Menambah rentetan kosong sebagai argumen ('') pada FOR XML PATH menghasilkan senarai nilai yang dipisahkan koma. Contohnya:
<code class="language-sql">SELECT ',' + name FROM temp1 FOR XML PATH ('')</code>
Hasilnya ialah:
<code>,aaa,bbb,ccc,ddd,eee</code>
Peranan STUFF
Fungsi STUFF digunakan untuk memasukkan atau menggantikan aksara dalam rentetan. Dengan menentukan kedudukan permulaan dan parameter panjang sebagai 1, anda mengalih keluar aksara pertama rentetan dengan berkesan:
<code class="language-sql">STUFF( (SELECT ',' + NAME FROM temp1 FOR XML PATH('') ), 1, 1, '' )</code>
Ini akan mengalih keluar koma pada permulaan senarai nama:
<code>aaa,bbb,ccc,ddd,eee</code>
Sambungan berasaskan ID
Akhir sekali, gunakan Kumpulan Oleh untuk menyertai senarai yang diubah suai dengan lajur Id untuk mengagregat dan mengembalikan output yang diingini:
<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>
Kod ini menerangkan secara ringkas cara STUFF dan FOR XML PATH berfungsi bersama dalam SQL Server untuk menghasilkan output yang diingini.
Atas ialah kandungan terperinci Bagaimanakah STUFF dan FOR XML PATH Menggabungkan Data dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!