Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Hasil Agregat dengan Nilai Dipisahkan Koma dalam SQL Server?

Bagaimana untuk Mendapatkan Hasil Agregat dengan Nilai Dipisahkan Koma dalam SQL Server?

DDD
Lepaskan: 2025-01-07 20:07:39
asal
583 orang telah melayarinya

How to Retrieve Aggregated Results with Comma-Separated Values in SQL Server?

Dapatkan hasil agregat lajur terkumpul menggunakan pembatas koma dalam SQL Server

Dalam Pelayan SQL, anda boleh menggunakan struktur FOR XML PATH untuk mendapatkan hasil agregat dengan pembatas koma dan lajur berkumpulan. Pertimbangkan contoh berikut:

<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>
Salin selepas log masuk

Dalam pertanyaan ini:

    Struktur
  • FOR XML PATH menjana senarai nilai yang dipisahkan koma untuk lajur ID bagi setiap kumpulan (diwakili oleh lajur Value).
  • STUFF Fungsi mengalih keluar ', ' pada permulaan senarai agregat.
  • .value('.', 'NVARCHAR(MAX)') Tukar hasil XML kepada jenis NVARCHAR(MAX) untuk mengelakkan kemungkinan ralat.

Data contoh dan hasil yang dijangkakan:

ID Value
1 a
1 b
2 c

Keluaran yang dijangkakan:

ID Values
1 a,b
2 c

Contoh lain:

Untuk rujukan lanjut tentang menggunakan hasil dipisahkan koma untuk pengumpulan dan pengagregatan dalam SQL Server, pertimbangkan contoh berikut:

Jawapan yang disemak ini menambah baik pertanyaan SQL dengan menukar output XML secara eksplisit kepada rentetan menggunakan .value('.', 'NVARCHAR(MAX)'), menghalang kemungkinan ralat Penjelasan juga kekal jelas dan ringkas.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Hasil Agregat dengan Nilai Dipisahkan Koma dalam SQL Server?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan