繁体   English   中英

SQL具有相同数据源的多个合并语句(与)

[英]SQL multiple merge statements with same data source (WITH as)

我想在同一查询中有多个合并语句(一个接一个),但是我不能使用相同的日期源。 例:

WITH DATA as(
SELECT * FROM tables_or_joins
            )

MERGE table_name as Target
USING
(SELECT * FROM DATA JOIN another table
)
....
do something more; --and finish this statement here

-- start another merge here
MERGE table_name_2 as Target
USING(
SELECT * FROM DATA and join with another table
)
do something else

但是输出是Invalid object name 'DATA'. 在第二次合并中。 还有其他方法如何在两个合并中使用数据吗? 希望这足够清楚。

CTE仅适合一项陈述

甚至无法对DATA进行两个简单选择

您可以有多个CTE,但实际上只有一个陈述

您可以使用多个CTE语句

WITH DATA as(SELECT * FROM table_or_joins),DATA2 AS((SELECT * FROM DATA JOIN另一个表)

SELECT * from DATA d在d.id = d2.id上加入DATA2 d2

要么

从DATA联合中选择*从DATA2中选择*

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM