Maison > base de données > tutoriel mysql > Comment puis-je concaténer des étiquettes en fonction des ID correspondants dans SQL ?

Comment puis-je concaténer des étiquettes en fonction des ID correspondants dans SQL ?

Patricia Arquette
Libérer: 2024-12-30 22:06:15
original
795 Les gens l'ont consulté

How Can I Concatenate Labels Based on Matching IDs in SQL?

Concaténation de valeurs basées sur l'ID

Pour résoudre la tâche fournie consistant à combiner plusieurs lignes avec le même ID et à concaténer les étiquettes correspondantes, utilisez le requête SQL suivante :

declare @T table(Response_ID int, Label varchar(50))
insert into @T values
(12147,          'It was not clear'),
(12458,          'Did not Undersstand'),
(12458,          'Was not resolved'),
(12458,          'Did not communicate'),
(12586,          'Spoke too fast'),
(12587,          'Too slow')

select T1.Response_ID,
       stuff((select ','+T2.Label
              from @T as T2
              where T1.Response_ID = T2.Response_ID
              for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '') as Label
from @T as T1
group by T1.Response_ID
Copier après la connexion

Dans le requête :

  • @T représente la table d'entrée avec les colonnes Response_ID et Label.
  • Les données sont insérées dans @T pour servir de point de départ à la requête.
  • La première sous-requête récupère les valeurs Label pour chaque Response_ID et les concatène avec des virgules. La clause FOR XML génère une chaîne XML, qui est ensuite convertie en une seule chaîne à l'aide de l'expression VALUE('','VARCHAR(MAX)').
  • La requête externe regroupe les résultats par Response_ID et utilise STUFF () pour concaténer les valeurs Label combinées avec le Response_ID.
  • Enfin, il affiche les valeurs concaténées pour chaque unique Réponse_ID.

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