我正在尝试在 Redshift 中创建一个临时表并将数据插入其中。我的目标是为唯一的doc_id WHERE doc_id IS NOT NULL创建一条记录。
这是我的代码:
-- Creating temp table to load only rows with unique and not null doc_id
DROP TABLE IF EXISTS TMP_table CASCADE;
CREATE TEMP TABLE IF NOT EXISTS TMP_table
(
uuid varchar,
id integer,
doc_id integer,
revenue double,
doc_date varchar,
);
-- insert into the temp table and add the distinct and not null filter on the doc_id
INSERT INTO TMP_table
(
uuid,
id,
doc_id,
revenue,
doc_date
)
SELECT
uuid,
id,
select DISTINCT (table_x.doc_id) from table_x where table_x.doc_id IS NOT NULL,
revenue,
doc_date
FROM schema.table_x;
运行上面的代码后,我得到一个语法错误几乎不同。而且我似乎无法弄清楚错误是什么。
请问有什么指导吗?
您可以使用窗口/排名功能 - 例如。
ROW_NUMBER()
- 简化查询。注意:我没有检查这些在 Redshift 中是否可用。