Skip to content

Commit 8f45f28

Browse files
committed
fix #703
1 parent e71d4ee commit 8f45f28

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

hbt/src/main/java/io/mycat/calcite/RelToSqlConverter.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,9 +336,20 @@ public Result visit(Project e) {
336336
addSelect(selectList, sqlExpr, e.getRowType());
337337
index++;
338338
}
339-
for (Integer dupColumnPo : dupColumnPos) {
340-
String alias = e.getRowType().getFieldList().get(dupColumnPo).getName() + "_" + dupColumnPo;
341-
selectList.set(dupColumnPo,as(SqlLiteral.createNull(SqlParserPos.ZERO),alias));
339+
for (Integer dupColumnIndex : dupColumnPos) {
340+
String alias = e.getRowType().getFieldList().get(dupColumnIndex).getName() + "_" + dupColumnIndex;
341+
342+
SqlNode sqlNode = selectList.get(dupColumnIndex);
343+
344+
if (sqlNode instanceof SqlCall){
345+
SqlCall sqlCall= ((SqlCall) sqlNode);
346+
if(sqlCall.getOperator().kind == SqlKind.AS){
347+
SqlNode argNode = sqlCall.getOperandList().get(0);
348+
selectList.set(dupColumnIndex,as(argNode,alias));
349+
continue;//退出
350+
}
351+
}
352+
selectList.set(dupColumnIndex,as(sqlNode,alias));
342353
}
343354

344355
builder.setSelect(new SqlNodeList(selectList, POS));

0 commit comments

Comments
 (0)