参数查询控制

需求:报表的参数块中,有很多条件。目前想分为两类;A类有值就按照A条件查询。否则按照B类。

具体:工号有值是按照工号查询。否则按照四级部门查询。

目前:数据条件

where  工号 is not null

${if(len(dpt01)=0,"","  and  mix.单位 = ' "+dpt01+"'")}

${if(len(dpt02)=0,"","  and  mix.一级部门= ' "+dpt02+"'")}

${if(len(dpt03)=0,"","  and  mix.二级部门= ' "+dpt03+"'")}

${if(len(dpt04)=0,"","  and  mix.三级部门= ' "+dpt04+"'")}

${if(len(dpt05)=0,"","  and  mix.四级部门= ' "+dpt05+"'")}

1b626eeb4e3221cac17d39a297cab32.jpg

界面:

b030b2d948681915a1154b2b4d00286.jpg

FineReport 帆软用户FSeepKI7oc 发布于 2023-11-3 17:28 (编辑于 2023-11-3 20:56)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-11-3 18:20(编辑于 2023-11-3 21:12)

你现在这样就可以的呀。你直接查询测试看就知道了!不用改什么

where  1=1

${if(len(工号)>0,"and 工号='"+工号+"'","")}

${if(len(工号)>0,"",if(len(dpt01)=0,"","  and  mix.单位 = ' "+dpt01+"'"))}

${if(len(工号)>0,"",if(len(dpt02)=0,"","  and  mix.一级部门 = ' "+dpt02+"'"))}

${if(len(工号)>0,"",if(len(dpt03)=0,"","  and  mix.二级部门 = ' "+dpt03+"'"))}

${if(len(工号)>0,"",if(len(dpt04)=0,"","  and  mix.三级部门 = ' "+dpt04+"'"))}

${if(len(工号)>0,"",if(len(dpt05)=0,"","  and  mix.四级部门 = ' "+dpt05+"'"))}

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-11-3 17:30

where 1=1 ${if(len(A类)==0," and B类条件"," AND A类条件"}

  • 2关注人数
  • 252浏览人数
  • 最后回答于:2023-11-3 21:12
    请选择关闭问题的原因
    确定 取消
    返回顶部