select * from p
WHERE P.FICDYB>='E00' AND P.FICDYB<='E90.9999999' AND (SSBM_YB<'06.' OR SSBM_YB>'07.99999999')
现在是输入条件一次一次查询,现在有一百多行条件,如何一次查询出所有?
${if(len(lx) == 0,"","and zheng_type in ('" + lx + "')")}
类似这样子,为空的话就查所有。
select * from p -----条件1 WHERE P.FICDYB>='E00' AND P.FICDYB<='E90.9999999' AND (SSBM_YB<'06.' OR SSBM_YB>'07.99999999') union all select * from p -----条件2 WHERE P.FICDYB>='E00' AND P.FICDYB<='E90.9999999' AND (SSBM_YB<'06.' OR SSBM_YB>'07.99999999')
类似这样把你的100多个条件都union
p这张表一共多少条数据,你要筛选的有啥共同点,你要简便筛选的话肯定只能从两方面,一个是取所有满足条件的,另外就是去除那些不满足条件的
动态注入参数
这样每一行的参数都不同。
不过就因为每行参数都不同,每行都查询一次,所以这种方法比通常的过滤,速度要慢很多,请注意
是否能弄一张条件表。P表子查询这个表。