如题,参数为空选全部是 ${if(len(aa) == 0,"","and bb= '" + aa+ "'")}
请问如何实现当输入的参数aa不等于字段bb中的任意值,则输出bb中的所有值
数据库为postgreSQL
百度一下 sql EXISTS的用法
或者在数据集里处理:
${if(len(aa)==0,"",
if(len(sql("数据连接名","select 1 from 表 where bb = '"+aa+"' limit 1",1,1))=0,"","and bb= '" + aa+ "'")
)}
${if(len(aa) == 0,"","and bb =case when (select count(1) from #table where bb='" + aa+ "')>0 then '" + aa+ "' else bb end ")}
好像只有这种方式才能实现你的需求,(select * from #table where bb='" + aa+ "'),这里的表换成你bb字段所在的表,判断aa在这个表中是不是有数据,有数据则查询aa=bb的数据,如果没有数据,那条件就变成了bb=bb了,就是查询bb所有的数据了。