Msg 1086, Level 15, State 1, Line 20 The FOR XML clause is invalid in views, inline functions, derived tables, and subqueries when they contain a set operator. To work aroun
There's a simple workaround for that, you should wrap your union query(or any derived table for that matter) with another select. Do this and then continue the syntax normally:
select * from
(
SELECT 1 as I
UNION ALL
SELECT 2 as J
) as K
Something like this is what you're searching for:
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,'')
I checked and it works flawlessly