Maison > base de données > tutoriel mysql > Comment concaténer des champs de plusieurs enregistrements dans T-SQL à l'aide de FOR XML PATH() ?

Comment concaténer des champs de plusieurs enregistrements dans T-SQL à l'aide de FOR XML PATH() ?

Patricia Arquette
Libérer: 2025-01-15 07:58:46
original
321 Les gens l'ont consulté

How to Concatenate Fields from Multiple Records in T-SQL Using FOR XML PATH()?

Utilisez FOR XML PATH() pour joindre les champs de plusieurs enregistrements dans T-SQL

Dans votre scénario spécifique, où vous avez plusieurs tables avec une relation plusieurs-à-plusieurs, vous pouvez utiliser une sous-requête et la fonction FOR XML PATH() pour joindre les champs requis. Voici comment obtenir le résultat souhaité :

SELECT  *,
        ( 
            SELECT  u.FName + ', '
            FROM    @Users u INNER JOIN 
                    @Reviewers rs ON u.UserID = rs.UserID
            WHERE   rs.ReviewID = r.ReviewID
            FOR XML PATH('')
        ) AS Users
FROM    @Reviews r
Copier après la connexion

Cette requête rejoint d'abord les tables @Reviews, @Reviewers et @Users pour créer un ensemble de données unifié. Il utilise ensuite une sous-requête pour sélectionner la colonne FName de @Users pour chaque ReviewID associé. La fonction FOR XML PATH() concatène ces valeurs FName dans une chaîne séparée par des virgules.

Enfin, la chaîne de connexion générée est affectée à la colonne "Utilisateurs" dans l'instruction SELECT principale. Le résultat ressemble à ceci :

<code>ReviewID    ReviewDate          Users
1           2009-01-12          Bob, Joe, Frank
2           2009-01-25          Sue, Alice</code>
Copier après la connexion

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