Maison >base de données >tutoriel mysql >Comment concaténer des lignes avec des virgules dans MSSQL Server ?

Comment concaténer des lignes avec des virgules dans MSSQL Server ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-16 23:27:09792parcourir

How to Concatenate Rows with Commas in MSSQL Server?

Utilisez une virgule pour joindre des lignes dans MSSQL Server

L'interrogation et la fusion de plusieurs lignes en une seule chaîne séparée par des virgules dans MSSQL Server peuvent être réalisées en utilisant une combinaison de fonctions STUFF et FOR XML. La méthode spécifique est la suivante :

Créez un exemple de tableau et remplissez les valeurs :

<code class="language-sql">DECLARE @T AS TABLE
(
   Name varchar(10)
)
INSERT INTO @T VALUES
('John'),
('Vicky'),
('Sham'),
('Anjli'),
('Manish')</code>

Construire des requêtes en utilisant STUFF et FOR XML :

<code class="language-sql">SELECT STUFF((
    SELECT ',' + Name
    FROM @T
    FOR XML PATH('')
), 1, 1, '') As [output]</code>

Cette requête concatène la colonne Nom de toutes les lignes du tableau @T en une seule chaîne. Il utilise FOR XML pour convertir la table en représentation XML, puis utilise STUFF pour concaténer les nœuds XML (éléments Name, avec " " comme délimiteur) en une seule chaîne. Le résultat est similaire à :

<code>output
John,Vicky,Sham,Anjli,Manish</code>

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!

Déclaration:
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