当表格有多个查询条件时,如何设置选择不同的查询条件能够显示满足条件的所有数据?

当表格有多个查询条件时,如何设置选择不同的查询条件能够显示对应的数据?

image.png

如图,筛选条件为一级部门的名称,如何设置当选择一级部门时,显示对应行数的所有数据。当查询条件为姓名时,只显示满足条件的数据的行的所有数据。而不是只显示一个值。

FineReport 用户YWMYW1541607 发布于 2021-12-30 08:58
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
CD20160914Lv8专家互助
发布于2021-12-30 09:08

where 1=1

${if(len(bm)=0,"","and a.表中字段名称1 in('"+ bm + "')")} 

${if(len(xm)=0,"","and a.表中字段名称2 in('"+ xm + "')")}

${if(len(erbm)=0,"","and a.表中字段名称3 in('"+ erbm + "')")}

${if(len(gw)=0,"","and a.表中字段名称4 in('"+ gw + "')")}

${if(len(phone)=0,"","and a.表中字段名称5 ='"+ phone + "'")}

${if(len(msjg)=0,"","and a.表中字段名称6 in('"+ msjg + "')")}

${if(len(msly)=0,"","and a.表中字段名称7 in('"+ msly + "')")}

  • 用户YWMYW1541607 用户YWMYW1541607(提问者) 为啥要写1=1呢 这个是啥意思?
    2021-12-30 10:24 
  • CD20160914 CD20160914 回复 用户YWMYW1541607(提问者) 1=1表示永远为真。就是你所有参数没有录入的时候查所有的。后面如果只录入某一个参数。。那么直接就要接and 开始的条件了。。
    2021-12-30 10:25 
  • 用户YWMYW1541607 用户YWMYW1541607(提问者) 回复 CD20160914 明白了 感谢
    2021-12-30 10:28 
最佳回答
1
linbodingLv6中级互助
发布于2021-12-30 09:00(编辑于 2021-12-30 09:01)

可以在数据集中做过滤

where 1=1

 ${if(len(参数)==0,"","and 参数 in( '"+ 参数+"')")}

最佳回答
0
孤陌Lv6资深互助
发布于2021-12-30 09:00

你是用数据集参数过滤 还是用的数据列 过滤的方法来做? 如果是用数据列设置过滤的方法来做  请把 所有过滤条件设置在 第一列里 

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-12-30 09:02

正常的SQL语句就行了呗

SELECT  你要的字段 FROM 表  WHERE 1=1 ${IF(LEN(一级部门)==0,""," AND 一级部门字段='"+一级部门+"'")}

  • 4关注人数
  • 475浏览人数
  • 最后回答于:2021-12-30 09:08
    请选择关闭问题的原因
    确定 取消
    返回顶部