错误提示 Column 'status' in where clause is ambiguous。
这个错误in where clause is ambiguous 是因为多表查询的时候几个表中同时出现了某个相同的列名,而在查询条件WHERE后面又没有指定是那个表,而引起的,又或者是查询结果里面有两个相同的列名,而没有指定是哪个表。
使用的时候可以这样,mysql查询前面加表名可避免出现这个错误 。
.......
from t_dcp_apply t
left join sys_user s on s.userid = t.project_manager
where 1=1
<if test="@Ognl@isNotEmpty(id)"> AND t.id = #{id} </if>
<if test="@Ognl@isNotEmpty(projectNo)"> AND t.project_no LIKE CONCAT('%',#{projectNo},'%') </if>
<if test="@Ognl@isNotEmpty(projectName)"> AND t.project_name LIKE CONCAT('%',#{projectName},'%') </if>
<if test="@Ognl@isNotEmpty(dcpType)"> AND t.dcp_type = #{dcpType} </if>
<if test="@Ognl@isNotEmpty(projectManagerName)"> AND s.fullname LIKE CONCAT('%',#{projectManagerName},'%') </if>
<if test="@Ognl@isNotEmpty(projectType)"> AND t.project_type =#{projectType} </if>
<if test="@Ognl@isNotEmpty(status)"> AND t.status = #{status} </if>
.......