我正在尝试使用 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 吗?
正确的顺序是:
create temporary table a2 as
with cte as (select 1 x)
select *
from cte;