Mysql, where clause is ambiguous

版权声明:技术共享 互相学习随便转载 https://blog.csdn.net/mxhh_cn/article/details/69387064

   错误提示 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>
.......


猜你喜欢

转载自blog.csdn.net/mxhh_cn/article/details/69387064