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 around, wrap the SELECT containing a set operator using derived table syntax and apply FOR XML on top of it.
I get this error when i run this:
SELECT
STUFF((
SELECT 1
UNION ALL
SELECT 2
FOR XML PATH('')
),1,0,'') [COLUMN]
works fine when i run this (without Union ALL)
SELECT
STUFF((
SELECT 1
FOR XML PATH('')
),1,0,'') [COLUMN]
Any suggestions why UNION ALL Doesn’t work, or how to get it to work inside the STUFF()?
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:
Something like this is what you’re searching for:
I checked and it works flawlessly