问题现象
同样的 sql 在 gccli 中执行不报错,但是在企业管理器中执行报错。
create table t1(c1 int,c2 varchar(10)); create table t2(c1 int,c2 varchar(10)); 企业管理器中执行 sql:
select * from t1 left join t2 on t1.c1=t2.c2; 报错
select * from (select * from t1 left join t2 on t1.c1=t2.c2 ) t limit 0,1000 错误:Duplicate column name 'c1'
原因分析
报错 sql 在企业管理器中执行时,默认改为 select * from (原 sql) limit 下发执行。
下发到 server 的语句子查询中投影列列名重复,发生列名重复报错,此为当前产品 限制。
解决方法
在 sql 语句中对投影列加不同列别名,以避免投影列列名重复,规避问题。