SELECT a.* FROM recruit_prj_info a,recruit_items_info b
AND a.employ_id = #{userId}
AND a.recruit_name = #{recruitName}
AND a.recruit_phone = #{recruitPhone}
AND b.item_type = #{itemType}
AND a.state = #{state}
AND a.addr_prov=#{addrProv}
AND a.addr_city=#{addrCity}
AND a.addr_area=#{addrArea}
AND DATE_FORMAT( a.cre_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
AND QUARTER(a.cre_time) = QUARTER(NOW())
AND a.cre_time BETWEEN date_sub(now(),interval 6 month) and now()
AND a.cre_time BETWEEN date_sub(now(),interval 12 month) and now()
AND a.recruit_id=b.recruit_id GROUP BY a.recruit_id ORDER BY a.cre_time DESC
当我不传 recruitTime 的时候会默认执行 recruitTime=3里面的sql条件
请问下大神这是什么原因呢
当我不传值时也会执行等于3时候的sql语句
传值了就没有问题 请问下这是什么原因照成的
select放在外面包一层
不觉得这串sql语句太多的and吗?