Maison >base de données >tutoriel mysql >Comment concaténer des champs de plusieurs enregistrements dans T-SQL à l'aide de 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é :
<code class="language-sql">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</code>
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>
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!