Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menjana Senarai Dipisahkan Koma Menggunakan Pertanyaan SQL?

Bagaimanakah Saya Boleh Menjana Senarai Dipisahkan Koma Menggunakan Pertanyaan SQL?

Linda Hamilton
Lepaskan: 2025-01-18 22:18:11
asal
591 orang telah melayarinya

How Can I Generate Comma-Separated Lists Using SQL Queries?

Gunakan pertanyaan SQL untuk menjana senarai dipisahkan koma

Semasa operasi pangkalan data, selalunya perlu menjana senarai nilai yang dipisahkan koma. Sebagai contoh, anda mungkin mahu memaparkan senarai semua aplikasi yang dikaitkan dengan sumber tertentu dalam antara muka pengguna. Walaupun ada kemungkinan untuk mengulangi setiap sumber, mendapatkan semula aplikasi dan menyambungkannya sendiri, pendekatan ini tidak cekap dan memakan masa.

Nasib baik, kebanyakan pangkalan data SQL menyediakan gabungan rentetan terbina dalam dan fungsi agregat. Berikut ialah kaedah pelaksanaan beberapa dialek SQL yang biasa digunakan:

MySQL

SELECT r.name,
       GROUP_CONCAT(a.name SEPARATOR ',')
FROM RESOURCES r
JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name
Salin selepas log masuk

SQL Server (2005)

SELECT r.name,
       STUFF((SELECT ',' + a.name
               FROM APPLICATIONS a
               JOIN APPLICATIONRESOURCES ar ON ar.app_id = a.id
              WHERE ar.resource_id = r.id
           GROUP BY a.name
            FOR XML PATH(''), TYPE).value('text()[1]','NVARCHAR(max)'), 1, LEN(','), '')
 FROM RESOURCES r
Salin selepas log masuk

SQL Server (2017)

SELECT r.name,
       STRING_AGG(a.name, ',')
FROM RESOURCES r
JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name
Salin selepas log masuk

Oracle

Oracle menyediakan pelbagai pilihan penggabungan dan pengagregatan rentetan, sila biasakan diri anda dengan sintaks khusus versi yang anda gunakan.

Pertanyaan ini menjana senarai aplikasi yang dipisahkan koma dengan berkesan untuk setiap sumber, membolehkan anda memberikan maklumat yang diperlukan kepada GUI anda dengan satu pertanyaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Senarai Dipisahkan Koma Menggunakan Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan