S02001

错误代码

S02001

报错信息

Duplicate column name: [xxx]. RefId:S02001

错误原因

SQL 语句的 select 子句(以及 group by 子句,如果有)存在列名重复的列,运行这样的 SQL 语句时该错误抛出。具体原因如下:

  1. select 中出现重名列,如 select id, id from aselect id, val as id from a
  2. 使用函数,表达式,分析函数等生成的隐式别名重名,如 select id as sum, sum(id) over () from a
  3. 与 join 结果列的隐式别名重名,如 select a.id + 1 as b_id, * from a, b where a.id = b.id
  4. 与 DolphinDB 内部保留列名重名。

解决办法

  1. 检查 select 以及 group by 子句是否有重名的列
  2. 通过 as 重命名冲突列
  3. 避免使用 DolphinDB 内部保留列名: col + 数字,如 col1; 前后使用两个下划线围绕的列名,如 __id__; 使用特殊符号作为前缀,如 {0|V^^N3