Du kan inte vara säker på ordningen på strängarna som är sammanlänkade utan en order by-sats i underfrågan. .value('.', 'varchar(max)')
del är till för att hantera fallet där Label
innehåller XML-ovänliga tecken som &
.
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