我正在嘗試編寫以下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 = ...
看起來很熟悉...... – 2012-03-02 22:13:01
@Abe - _「原創性的祕訣就是忘記來源」__1給你的答案。 – 2013-11-25 14:43:56