当前使用版本(必须填写清楚,否则不予处理)

3.1.0

该问题是怎么引起的?(最新版上已修复的会直接close掉)

在自定义SQL里联表查询,且多个表里包含相同字段名,此时用LambdaQueryWrapper针对同名字段生成查询条件。执行会报错:列名有歧义

重现步骤

查询语句: select a.*,b.name from table1 a left join table2 b on a.bid = b.id ${ew.customSqlSegment}

报错信息

column 'creator' in field list is ambiguous

Comment From: miemieYaho

用普通wrapper自己加别名

Comment From: tiswo

用普通wrapper自己加别名

针对这个情况后续是否有优化计划?例如,在自定义sql时候允许设置全局别名?(通过注解传递)

Comment From: miemieYaho

没有

Comment From: thkdog

对于选择queryWrapper还是lambdaWrapper的选择,是需要根据业务来判断的。但是可能一开始没有涉及到关联表字段查询,可以用LambdaWrapper,一旦业务涉及关联表字段查询了,又得切回到QueryWrapper,这里有一定的代价,不知道这块有没有考量?LambdaWrapper是否也能支持字符串形式的Column入参呢?

Comment From: yipanbo

用普通wrapper自己加别名

queryWrapper里面怎么设置表的别名?