попробуйте это:
--Concatenation with FOR XML & eliminating control/encoded char expansion "& < >"
set nocount on;
declare @YourTable table (ID int, HistID int, Item varchar(25))
insert into @YourTable VALUES (5 ,361,'Joe Smith')
insert into @YourTable VALUES (5 ,376,'Prince Brown')
insert into @YourTable VALUES (34 ,250,'Sue Blue')
insert into @YourTable VALUES (306,106,'Jane Doe')
insert into @YourTable VALUES (306,238,'Sandy Pink')
insert into @YourTable VALUES (392,390,'Dawn Red')
insert into @YourTable VALUES (512,363,'Gus Green')
insert into @YourTable VALUES (512,515,'Joy Orange')
insert into @YourTable VALUES (512,49 ,'Sam Strong')
set nocount off
SELECT
t1.ID
,STUFF(
(SELECT
', <br/>' + t2.Item
FROM @YourTable t2
WHERE t1.ID=t2.ID
ORDER BY t2.Item
FOR XML PATH(''), TYPE
).value('.','varchar(max)')
,1,7, ''
) AS ChildValues
FROM @YourTable t1
GROUP BY t1.ID
ВЫВОД:
ID ChildValues
----------- ---------------------------------------------
5 Joe Smith, <br/>Prince Brown
34 Sue Blue
306 Jane Doe, <br/>Sandy Pink
392 Dawn Red
512 Gus Green, <br/>Joy Orange, <br/>Sam Strong
(5 row(s) affected)
Я не уверен, почему у ОП на выходе было [br/]
, я использовал <br/>
, который можно легко изменить, если они захотят.