我收到了一个在 Redshift 中从未见过的 Assert 错误。
我创建了一个 CTE(我们称之为seed
),用于连接 6 个以上的表。从 CTE 中,我需要对数据进行一些聚合和转换。我在另一个 CTE(我们称之为final_table
)中执行此操作。
当我尝试查询final_table
(例如SELECT * FROM final_table
:)时出现以下错误:
Details:
-----------------------------------------------
error: Assert
code: 1000
context: dex < m_num_colflds && dex >= 0 - m_num_colflds:1 dex:16
query: xxx
location: xxx
process: xxx
但是,如果我运行相同的查询final_table
(但不将其包装在 CTE 中),一切都会正常工作。
这是一个问题,因为我需要连接两个 CTE,因为特定的聚合无法在单个查询中完成。
我正在使用 DBeaver 和 Redshift。任何帮助或见解都将不胜感激。
答案1
有点晚了,但我遇到了类似的问题,只是将我的 CTE 更改为临时表并且它起作用了......