[英]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.