À l'aide de l'UNION de TOUS dans le STUFF / XML Path

Msg 1086, Niveau 15, État 1, Ligne 20
La clause FOR XML n'est pas valide dans les vues, les fonctions inline, les tables dérivées, et les sous-requêtes lorsqu'ils contiennent un ensemble d'opérateur. Pour contourner ce problème, envelopper le SÉLECTIONNER contenant un opérateur à l'aide de la table dérivée de la syntaxe et de l'appliquer POUR XML.

J'obtiens cette erreur quand je lance ceci:

SELECT
    STUFF((
    SELECT 1
    UNION ALL
    SELECT 2
    FOR XML PATH('')
    ),1,0,'') [COLUMN]

fonctionne très bien lorsque je l'exécute (sans l'Union de TOUS)

SELECT
    STUFF((
    SELECT 1
    FOR XML PATH('')
    ),1,0,'') [COLUMN]

Des suggestions pourquoi l'UNION de TOUS Ne fonctionne pas, ou la façon de l'obtenir pour fonctionner à l'intérieur de la STUFF()?

OriginalL'auteur Control Freak | 2012-02-06