[英]Combining two CTEs with UNION causes an error
出现以下错误:
'Msg 156,第15级,第1行,第53行
关键字“ WITH”附近的语法不正确。信息319,第15层,州1,第53行
关键字“ with”附近的语法不正确。 如果此语句是公用表表达式,xmlnamespaces子句或更改跟踪上下文子句,则前一条语句必须以分号终止。
单独运行CTE时可以。 但是,当使用UNION组合时,则会出现错误。
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 . . .;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.