Я предполагаю, что ваш столбец ID - это числовой столбец, а не varchar.Попробуйте использовать ID как varchar или nvarchar.Ваш синтаксис выглядит хорошо, он должен разделяться пробелом.
EX:
Без приведения:
select 1 as Item
into #test
union select 2
union select 3
union select 4
union select 5
select STUFF((SELECT ' ' + Item
FROM #test
FOR XML PATH('')), 1, 1, '')
Выход: 2345
Сприведение:
select 1 as Item
into #test
union select 2
union select 3
union select 4
union select 5
select STUFF((SELECT ' ' + cast(Item as nvarchar)
FROM #test
FOR XML PATH('')), 1, 1, '')
Вывод: 1 2 3 4 5