目录

mybatisSql拼接报错

目录

mybatisSql拼接报错

Column ‘id’ in where clause is ambiguous; nested exception is java.sql.SQLIntegrityConstraintViolationException: Column ‘id’ in where clause is ambiguous

    <sql id="selectMesMaterialCheckVo">
        SELECT
            s.id,
            s.serial_no,
            s.material_requisition_id,
            s.material_requisition_no,
            s.material_id,
            s.check_standard_id,
            s.require_quantity,
            s.receive_quantity,
            s.check_quantity,
            s.check_value,
            s.max_value,
            s.min_value,
            s.check_result,
            s.remark,
            s.check_user,
            s.check_date,
            wms_material_info.`name`,
            wms_material_info.model,
            wms_material_info.specification,
            wms_material_info.unit,
            mes_check_standard.check_item_name
        FROM
            mes_material_check s
                LEFT JOIN wms_material_info ON s.material_id = wms_material_info.id
                LEFT JOIN mes_check_standard ON s.check_standard_id = mes_check_standard.id
    </sql>

这是查询参数

<select id="selectMesMaterialCheckById" parameterType="Long" resultMap="MesMaterialCheckResult">
    <include refid="selectMesMaterialCheckVo"/>
    where id = #{id}
</select>

报错代码

原因是不知道 id 是哪个

解决方法:对应查询参数的 s,或者添加前缀