Maison > base de données > tutoriel mysql > Comment générer des listes de noms d'employés délimités par des virgules par service dans SQL Server ?

Comment générer des listes de noms d'employés délimités par des virgules par service dans SQL Server ?

Susan Sarandon
Libérer: 2025-01-18 10:11:14
original
344 Les gens l'ont consulté

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

Génération de listes d'employés séparés par des virgules par service dans SQL Server

Cette requête SQL Server crée efficacement des listes de noms d'employés séparés par des virgules, organisées par service, à partir de la table EMP. Le processus utilise intelligemment des sous-requêtes et des techniques de manipulation de chaînes.

Une sous-requête, intégrée dans la clause FOR XML PATH(''), rassemble les noms des employés pour chaque service. Cette concaténation s'effectue sans balises XML, produisant un fragment XML contenant tous les noms d'employés d'un service donné. Ce fragment est stocké dans la variable allemp.

Ensuite, la fonction REPLACE remplace les espaces dans la chaîne allemp par des virgules, la transformant en la liste souhaitée séparée par des virgules. Le résultat final, regroupé par deptno, fournit une seule ligne par département, affichant les noms des employés séparés par des virgules.

Voici le résultat :

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

La clause FOR XML PATH(''), sans alias explicite, génère le fragment XML sans balises englobantes. Pour une gestion plus robuste des caractères XML spéciaux, pensez à ajouter le mot-clé TYPE (comme indiqué dans l'annexe), garantissant un échappement correct.

Cette méthode offre une solution pratique pour générer des listes séparées par des virgules, utile pour l'exportation de données ou la génération de rapports.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal