Il existe une solution de contournement simple pour cela, vous devez envelopper votre requête union (ou toute table dérivée d'ailleurs) avec une autre sélection. Faites ceci puis continuez la syntaxe normalement :
select * from
(
SELECT 1 as I
UNION ALL
SELECT 2 as J
) as K
Quelque chose comme ceci correspond à ce que vous recherchez :
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,'')
J'ai vérifié et cela fonctionne parfaitement