S02001
错误代码
S02001
报错信息
Duplicate column name: [xxx]. RefId:S02001
错误原因
SQL 语句的 select 子句(以及 group by 子句,如果有)存在列名重复的列,运行这样的 SQL 语句时该错误抛出。具体原因如下:
- select 中出现重名列,如
select id, id from a
或select id, val as id from a
。 - 使用函数,表达式,分析函数等生成的隐式别名重名,如
select id as sum, sum(id) over () from a
。 - 与 join 结果列的隐式别名重名,如
select a.id + 1 as b_id, * from a, b where a.id = b.id
。 - 与 DolphinDB 内部保留列名重名。
解决办法
- 检查 select 以及 group by 子句是否有重名的列
- 通过 as 重命名冲突列
- 避免使用 DolphinDB 内部保留列名: col + 数字,如
col1
; 前后使用两个下划线围绕的列名,如__id__
; 使用特殊符号作为前缀,如{0|V^^N3