Istnieje proste obejście tego problemu:należy otoczyć zapytanie składające (lub dowolną tabelę pochodną w tym przypadku) innym wyborem. Zrób to, a następnie kontynuuj składnię normalnie:
select * from
(
SELECT 1 as I
UNION ALL
SELECT 2 as J
) as K
Czegoś takiego właśnie szukasz:
SELECT STUFF((
select * from(
SELECT * from dbo.Table1 as I
UNION ALL
SELECT * from dbo.Table2 as j
) as k
FOR XML PATH('')
),1,0,'')
Sprawdziłem i działa bez zarzutu