Maison > base de données > tutoriel mysql > Comment concaténer plusieurs lignes SQL en une seule colonne délimitée par des virgules ?

Comment concaténer plusieurs lignes SQL en une seule colonne délimitée par des virgules ?

Patricia Arquette
Libérer: 2025-01-21 06:51:12
original
984 Les gens l'ont consulté

How to Concatenate Multiple SQL Rows into a Single Comma-Delimited Column?

Techniques SQL pour combiner plusieurs lignes en un seul champ délimité par des virgules

L'agrégation de plusieurs lignes de données en une seule colonne, séparées par des virgules, est une exigence fréquente dans la manipulation de données. Ce guide montre comment réaliser cette concaténation à l'aide de SQL, en se concentrant sur Microsoft SQL Server 2005 et versions ultérieures.

Voici une solution SQL Server :

<code class="language-sql">SELECT t.TicketID,
       STUFF(ISNULL((SELECT ', ' + x.Person
                FROM @Tickets x
               WHERE x.TicketID = t.TicketID
            GROUP BY x.Person
             FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), ''), 1, 2, '') AS ConcatenatedPersons
  FROM @Tickets t
GROUP BY t.TicketID</code>
Copier après la connexion

Cette approche utilise la fonction STUFF pour supprimer efficacement une virgule de début de la chaîne concaténée. La requête imbriquée exploite FOR XML PATH pour créer une liste séparée par des virgules à partir des valeurs Person individuelles associées à chaque TicketID. La fonction ISNULL gère les cas où aucune personne n'est associée à un identifiant de ticket donné. Le résultat est une seule colonne (ConcatenatedPersons) contenant la liste des personnes séparées par des virgules pour chaque ticket. Cette méthode fournit un moyen propre et efficace d’obtenir la concaténation souhaitée dans SQL Server. Adaptez cette technique à vos noms de tables et de colonnes spécifiques pour des résultats optimaux.

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