Pengumpulan dan Penggabungan SQL dengan Pemisah Koma
Panduan ini menunjukkan cara menulis pertanyaan SQL yang mengumpulkan data dan menggabungkan nilai agregat menggunakan pemisah koma. Bayangkan jadual seperti ini:
<code>| ID | Value | |-----|-------| | 1 | a | | 1 | b | | 2 | c |</code>
Matlamatnya adalah untuk menjana set hasil di mana nilai untuk ID yang sama digabungkan menjadi rentetan dipisahkan koma tunggal:
<code>| ID | Value | |-----|-------| | 1 | a,b | | 2 | c |</code>
Penyelesaian menggunakan FOR XML PATH:
Konstruk FOR XML PATH
menyediakan cara yang cekap untuk mencapai ini:
<code class="language-sql">SELECT ID, STUFF((SELECT ', ' + Value FROM YourTable t2 WHERE t1.ID = t2.ID FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values FROM YourTable t1 GROUP BY ID;</code>
Fungsi STUFF
mengalih keluar koma di hadapan dan ruang yang ditambahkan oleh pernyataan SELECT
. Pendekatan ini biasanya lebih disukai kerana prestasi dan kebolehbacaannya.
Bacaan Lanjut:
Untuk senario yang lebih maju dan teknik alternatif, terokai sumber ini:
FOR XML PATH
dan fungsi yang berkaitan.Respons yang disemak ini meningkatkan kejelasan, memberikan penjelasan yang lebih ringkas dan menawarkan pautan yang berguna untuk pembelajaran selanjutnya. Imej kekal dalam kedudukan asalnya.
Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Data dan Menggabungkan Nilai dengan Pemisah Koma dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!