Snowflake中基于多临时表将查询结果存入新表的方法求助
Snowflake中使用多CTE创建新表的正确写法
你的代码存在两处语法问题,调整后即可正常将CTE结果存入新表:
- 多CTE定义仅需一个
WITH关键字,后续的临时表用逗号分隔,无需每个都加WITH CREATE OR REPLACE TABLE AS语句需要将整个CTE结构包含在其查询部分内,不能把建表语句放在CTE列表之后
修正后的代码示例
set start_date = '2021-06-01'; create or replace table newresults as with transactions as ( select * from ..... -- 你的复杂查询逻辑 ), sales as ( select * from .... -- 你的复杂查询逻辑 ), customers as ( select * from ..... -- 你的复杂查询逻辑 ), results as ( select * from .... -- 基于前面CTE的最终查询逻辑 ) select * from results;
这种写法既保留了各临时表的独立复杂逻辑,又能让Snowflake正确解析并将results的结果写入newresults表。
内容的提问来源于stack exchange,提问作者milo204
相关产品推荐
相关产品推荐

