Mehrere Werte basierend auf einem gemeinsamen Bezeichner mit SQL verketten
Angenommen, Sie haben eine Tabelle mit zwei Spalten: Response_ID und Label, wobei mehrere Label Jeder Response_ID können Werte zugeordnet werden. Möglicherweise müssen Sie alle Label-Werte für jede eindeutige Response_ID verketten.
Dies kann mit der folgenden SQL-Anweisung erreicht werden:
-- Sample data 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') -- Query to concatenate Label values 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
Erklärung:
Das Ergebnis ist eine Tabelle mit einer Zeile pro Response_ID und den verketteten Label-Werten durch Kommas getrennt.
Das obige ist der detaillierte Inhalt vonWie verkettet man mehrere SQL-Werte basierend auf einem gemeinsamen Bezeichner?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!