You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中创建临时表并与另一表同查询关联的语法问题

Snowflake临时表创建与关联查询的正确写法

你遇到的错误是因为Snowflake不支持在SELECT语句的FROM子句中嵌套CREATE TABLE操作,这种语法不符合Snowflake的SQL规范。

下面是两种正确的实现方式:

方式一:分步骤创建临时表并关联查询

这是最直接符合你需求的方法——先独立创建临时表,再执行关联查询:

-- 创建临时表TMP_TBL1
CREATE OR REPLACE TEMPORARY TABLE TMP_TBL1 AS
SELECT * FROM A;

-- 关联临时表与表B查询数据
SELECT TMP_TBL1.*, B.*
FROM TMP_TBL1
JOIN B ON TMP_TBL1.ADDRESS = B.ADDRESS;

方式二:用CTE替代临时表(无需实际创建表)

如果不需要保留临时表,只是临时用表A的结果关联表B,可以用公共表表达式(CTE),这样不需要创建物理临时表:

WITH TMP_TBL1 AS (
    SELECT * FROM A
)
SELECT TMP_TBL1.*, B.*
FROM TMP_TBL1
JOIN B ON TMP_TBL1.ADDRESS = B.ADDRESS;

内容的提问来源于stack exchange,提问作者Shanoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 02:30:58