U kunt niet zeker zijn van de volgorde van de aaneengeschakelde tekenreeksen zonder een instructie op volgorde in de subquery. De .value('.', 'varchar(max)')
een deel is er om het geval te behandelen waarin Label
bevat XML-onvriendelijk tekens zoals &
.
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