收到以下错误:
'Msg 156,级别 15,状态 1,第 53
行 关键字"WITH"附近的语法不正确。消息 319,级别 15,状态 1,第 53 行
关键字"with"附近的语法不正确。如果此语句是公用表表达式、xmlnamespaces 子句或更改跟踪上下文子句,则前面的语句必须以分号结尾。
单独运行 CTE 时,没问题。但是当使用联合进行组合时..然后出现错误。
With cte1 as
(
select
.
.
.
Select
from
)
select
UNION
With cte2 as
(
Select
From
)
Select
from
在 SQL Server 中,CTE 附加到最外层的select
。 换句话说,每个查询只有一个,所有定义都必须在select
之前。
因此,将它们合并为一个with
:
with cte1 as (
select . . .
),
cte2 as (
select . . .
)
select . . .
from cte1 . . .
union
select . .
from cte2 . . .;