Не уверен, что вы хотите сделать здесь, но вы можете добавить один результат XML к другому:
declare @x xml;
declare @some_more_xml xml;
....
set @x = (select @x, @some_more_xml for xml path(''), type);
Это также может быть встроенным:
set @x = (
select
(select 1 as foo for xml raw, root('root1'), type),
(select 2 as bar for xml raw, root('root2'), type)
for xml path(''), type
);
Если вы хотите добавить элементы «внутри» некоторого существующего xml, то самый простой способ сделать это - не вводить предложение root
до самого конца:
set @x = (
select
(select ... for xml auto, type),
(select ... for xml auto, type)
for xml path(''), root('channel'), type
);