公司前辈让我写一个主子表关联的查询,我完全没有这样的经验,他帮我写了mapper.xml里面的sql语句,记录一下防止以后忘记。
<select id="selectOrderWT" parameterType="com.jingchuang.entity.trans.request.TPlanItemModel"
resultType="com.jingchuang.entity.trans.request.TOrderWTModel">
SELECT *
FROM
t_order_wt tr
<choose>
<when test="companyId != null and companyId != ''">
LEFT JOIN t_order_wt_item trw on (tr.company_id = trw.company_id AND tr.order_no = trw.order_no)
LEFT JOIN t_plan_item tpi on (tpi.parent_company_id = trw.company_id AND tpi.order_no = trw.order_no)
LEFT JOIN t_plan tp on (tp.company_id = tpi.company_id AND tp.plan_no = tpi.plan_no)
WHERE tr.company_id = #{companyId}
AND tp.plan_status >='DDZT55'
AND tp.plan_status < 'DDZT80'
</when>
<otherwise>
LEFT JOIN t_order_wt_item trw on (tr.company_id = trw.company_id AND tr.order_no = trw.order_no)
WHERE tr.pick_no = #{pickNo}
</otherwise>
</choose>
</select>
<choose>和<when><otherwise>标签组合用来判断具体该执行哪些sql语句