使用 CTE 在 Snowflake 中创建临时表

问题描述 投票:0回答:1

我正在尝试使用 CTE 在 Snowflake 中创建临时表。我将在同一会话中使用此表进行另一个查询。

这是到目前为止的语法:

WITH CTE AS
(SELECT DISTINCT JOIN_KEY, B.Material_no, B.Plant_No, B.Plant_Avail  FROM "TERADATA"."PRD_DWH_VIEW_LMT"."GSC_VAL_LIST_VIEW" A
LEFT JOIN (SELECT Material_No, Plant_No, SUM(Available_Units) AS Plant_Avail FROM "TERADATA"."PRD_DWH_VIEW_LMT"."ATP_AVAILABLETOPROMISE_V" GROUP BY Material_No, Plant_No) B
ON SUBSTR(JOIN_KEY,1, LENGTH(JOIN_KEY) - 3) = B.Material_No
WHERE LIST_ID= 'OT')

CREATE TEMPORARY TABLE NET_AVAIL AS (SELECT*
FROM CTE);

但是,我收到错误

第 7 行语法错误位于位置 0 意外的“CREATE”

有人可以帮忙吗?

我将在查询的第二部分使用这个临时表,所以我还应该提到 ON COMMIT PRESERVE ROWS 吗?

sql snowflake-cloud-data-platform common-table-expression temp-tables
1个回答
0
投票

正确的顺序是:

create temporary table a2 as

with cte as (select 1 x)

select *
from cte;
© www.soinside.com 2019 - 2024. All rights reserved.