Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Senarai Dibatasi Koma Nama Pekerja mengikut Jabatan dalam SQL Server?

Bagaimana untuk Menjana Senarai Dibatasi Koma Nama Pekerja mengikut Jabatan dalam SQL Server?

Susan Sarandon
Susan Sarandonasal
2025-01-18 10:11:14345semak imbas

How to Generate Comma-Delimited Lists of Employee Names by Department in SQL Server?

Menjana Senarai Pekerja Dipisahkan Koma setiap Jabatan dalam Pelayan SQL

Pertanyaan SQL Server ini dengan cekap mencipta senarai nama pekerja yang dipisahkan koma, disusun mengikut jabatan, daripada jadual EMP. Proses ini bijak menggunakan subkueri dan teknik manipulasi rentetan.

Subkueri, tertanam dalam klausa FOR XML PATH(''), mengumpulkan nama pekerja untuk setiap jabatan. Penggabungan ini berlaku tanpa teg XML, menghasilkan serpihan XML yang mengandungi semua nama pekerja untuk jabatan tertentu. Serpihan ini disimpan dalam pembolehubah allemp.

Seterusnya, fungsi REPLACE menggantikan ruang dalam rentetan allemp dengan koma, mengubahnya menjadi senarai dipisahkan koma yang dikehendaki. Hasil akhir, dikumpulkan mengikut deptno, menyediakan satu baris bagi setiap jabatan, memaparkan nama pekerja yang dipisahkan koma.

Inilah outputnya:

<code>deptno  allemp
10      CLARK,KING,MILLER
20      SMITH,JONES,SCOTT,ADAMS,FORD
30      ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES</code>

Klausa FOR XML PATH(''), tanpa alias yang jelas, menjana serpihan XML tanpa melampirkan teg. Untuk pengendalian aksara XML khas yang lebih mantap, pertimbangkan untuk menambah kata kunci TYPE (seperti yang ditunjukkan dalam lampiran), memastikan pelarian yang betul.

Kaedah ini menawarkan penyelesaian praktikal untuk menjana senarai dipisahkan koma, berguna untuk eksport data atau penjanaan laporan.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Senarai Dibatasi Koma Nama Pekerja mengikut Jabatan dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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