次のSQLを記述しようとしています。CTEの結果をvarchar変数に割り当てることはできませんか?
declare @s varchar(max) = (
with c as (select ...)
select a, b, c, d, ....
from ... join c on .... join c on .... join c on ....
order by ...
for xml raw('...'), elements
);
ただし、構文が正しくありません(次はエラーメッセージです)。サブクエリに変換する必要がありますか?私は複数の場所でCTEを拡大することを避けようとしています。
「with」というキーワードの構文が正しくありません。この文が共通テーブル式、xmlnamespaces句または変更追跡コンテキスト句である場合、前の文はセミコロンで終了する必要があります。
更新:
for xml
とorder by
はselect @s = ...
おなじみのように見える... –
@Abe - _ "独創性の秘密は、あなたの答えに"源を忘れることです。 –