赞
踩
场景:
多见于商品的多条件查询
原因:当mysql的WHERE语句中出现AND、OR时,AND 要么全部放在 OR 的前面,放在OR之后的AND条件将不会起作用。
怎么解决呢?
只要将你的or条件用()包起来,用作一个条件查询就可以了:
- <if test="null != param.searchParam and '' != param.searchParam">
- AND (sg.goods_name like concat('%', #{param.searchParam},'%')
- OR sg.pinyin like concat('%', #{param.searchParam},'%')
- OR sg.barcode like concat('%', #{param.searchParam},'%'))
-
- </if>
- <if test="null != param.unitId and '' !=param.unitId">
- AND (sg.unit_name = #{param.unitName} or sg.unit_id = #{param.unitId})
- </if>
仅此记录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。