Heim > Datenbank > MySQL-Tutorial > Wie kann ich Beschriftungen basierend auf übereinstimmenden IDs in SQL verketten?

Wie kann ich Beschriftungen basierend auf übereinstimmenden IDs in SQL verketten?

Patricia Arquette
Freigeben: 2024-12-30 22:06:15
Original
720 Leute haben es durchsucht

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

Verketten von Werten basierend auf der ID

Um die bereitgestellte Aufgabe zu lösen, mehrere Zeilen mit derselben ID zu kombinieren und die entsprechenden Beschriftungen zu verketten, verwenden Sie die Folgende SQL-Abfrage:

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
Nach dem Login kopieren

Innerhalb der Abfrage:

  • @T stellt die Eingabetabelle mit den Spalten Response_ID und Label dar.
  • Daten werden in @T eingefügt, um als Ausgangspunkt für die Abfrage zu dienen.
  • Die erste Unterabfrage ruft die Label-Werte für jede Response_ID ab und verkettet sie mit Kommas. Die FOR XML-Klausel generiert eine XML-Zeichenfolge, die dann mithilfe des Ausdrucks VALUE('','VARCHAR(MAX)') in eine einzelne Zeichenfolge konvertiert wird.
  • Die äußere Abfrage gruppiert die Ergebnisse nach Response_ID und verwendet STUFF (), um die kombinierten Label-Werte mit der Response_ID zu verketten.
  • Schließlich werden die verketteten Werte für jedes einzelne Element angezeigt Antwort_ID.

Das obige ist der detaillierte Inhalt vonWie kann ich Beschriftungen basierend auf übereinstimmenden IDs in SQL verketten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage