Combine CTE “WITH” und “WITH XMLNAMESPACES…” in SQL Server

Hat es jemand geschafft, einen CTE in SQL Server T-SQL zu erstellen, der auch ein @ enthälWITH XMLNAMESPACES Erklärung?

Es scheint beidesWITH -Stichwörter bestehen darauf, der "Erste im T-SQL-Batch" zu sein, und das funktioniert nicht wirklich ....

Ich habe es versucht

WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
WITH CTEQuery AS
(
SELECT (list of fields)
    FROM dbo.MyTable
    WHERE (conditions)
)
SELECT * FROM CTEQuery

Hat nicht funktioniert :-( (Syntaxfehler)

Nachricht 156, Ebene 15, Status 1, Zeile 2
Inkorrekte Syntax neben dem Schlüsselwort 'WITH'.
Nachricht 319, Ebene 15, Status 1, Zeile 2
Inkorrekte Syntax neben dem Schlüsselwort 'with'. Wenn es sich bei dieser Anweisung um einen allgemeinen Tabellenausdruck, eine xmlnamespaces-Klausel oder eine Kontextklausel zur Änderungsnachverfolgung handelt, muss die vorherige Anweisung mit einem Semikolon abgeschlossen werden.

So habe ich versucht, das zweite @ voranzustellWITH mit einem Semikolon:

WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
;WITH CTEQuery AS
(
SELECT (list of fields)
    FROM dbo.MyTable
    WHERE (conditions)
)
SELECT * FROM CTEQuery

und habe folgendes:

Nachricht 102, Ebene 15, Status 1, Zeile 2
Falsche Syntax in der Nähe ';'

und dann habe ich versucht, die @ setzWITH XMLNAMESPACES in den CTE:

WITH CTEQuery AS
(
   WITH XMLNAMESPACES('http://schemas.myself.com/SomeSchema' as ns)
   SELECT (list of fields)
      FROM dbo.MyTable
      WHERE (conditions)
)
SELECT * FROM CTEQuery

und habe folgendes:

Nachricht 156, Ebene 15, Status 1, Zeile 4
Inkorrekte Syntax neben dem Schlüsselwort 'WITH'.
Nachricht 319, Ebene 15, Status 1, Zeile 4
Inkorrekte Syntax neben dem Schlüsselwort 'with'. Wenn es sich bei dieser Anweisung um einen allgemeinen Tabellenausdruck, eine xmlnamespaces-Klausel oder eine Kontextklausel zur Änderungsnachverfolgung handelt, muss die vorherige Anweisung mit einem Semikolon abgeschlossen werden.
Nachricht 102, Ebene 15, Status 1, Zeile 21
Falsche Syntax in der Nähe ')'

So wie zum Teufel mache ich das ??

Antworten auf die Frage(2)

Ihre Antwort auf die Frage