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

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