Maison >base de données >tutoriel mysql >Comment concaténer les chaînes dans un groupe SQL Server en utilisant le chemin XML?
La combinaison intelligente de la concaténation de chaînes SQL Server et de GROUP BY
Dans SQL Server, il existe un moyen astucieux de combiner FOR XML
et PATH
pour concaténer des chaînes dans une opération GROUP BY
.
Le but est de convertir les données suivantes :
<code>id Name Value 1 A 4 1 B 8 2 C 9</code>
Convertir en :
<code>id Column 1 A:4, B:8 2 C:9</code>
Les étapes sont les suivantes :
Créer une table temporaire : Créez une table temporaire avec le même schéma que la table d'origine.
Insérer des exemples de données : Insérez des exemples de données dans une table temporaire.
Concaténer des chaînes à l'aide de FOR XML et PATH : Concaténer des chaînes dans chaque groupe d'ID à l'aide des méthodes FOR XML
et PATH
. Cela comprend :
ID
et Name
. Name
et Value
pour chaque enregistrement du même groupe d'ID. ,
et Name
à l'aide d'un délimiteur (par exemple, Value
). FOR XML PATH('')
pour convertir le résultat en XML. TYPE
et value()
. Regroupez par ID et utilisez STUFF : pour regrouper les résultats par ID
. Utilisez la fonction STUFF
pour supprimer les délimiteurs principaux (par exemple, les virgules) des chaînes de connexion.
Sélectionner le résultat final : Sélectionne ID
et les chaînes Name
et Value
concaténées en tant que colonnes Column
.
Supprimer la table temporaire : Supprimez la table temporaire une fois l'opération terminée.
Cette approche exploite la puissance de FOR XML
et PATH
pour concaténer efficacement des chaînes dans une opération GROUP BY
sans utiliser de curseurs, de boucles ou de fonctions définies par l'utilisateur.
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!