这是一个关于传参进sql的问题:求大神帮忙

先来看查出的数据:

image.png

如图,最后一列存在等于0的情况和大于0的各种数据(0为登陆次数为0,其他数字对应登陆的次数)

下图为页面上的入参条件之一,想通过这个判断,当选择存在时,查询最后一列不为0的数据即有登陆次数的,当选择不存在时,查询为0的数据即没有登陆次数的,当不选时查询全部数据

注意:最后列不是数据库的列,是count出的数字,入参存在和不存在也不是数据库的列是自定义的



image.png



下面为报表的设置:


image.png



最后是sql,不加存在不存在的入参是没问题的,但是加了就不对了,肯定是我写的问题,求大神教我怎么实现这种自定义的入参

image.png

FineReport 用户A0991231 发布于 2020-9-2 14:44
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
豆豆小可爱Lv5中级互助
发布于2020-9-2 14:48(编辑于 2020-9-2 15:17)

${if(len(comb)=0,"",if(comb=0,"and aa.jss1='"+comb+"'",if(comb=0.1,"and aa.jss1>='"+comb+"'","")))}

合并成一个吧,为啥要分这么多个写

  • 用户A0991231 用户A0991231(提问者) 哥,这样写确实不报错了,但是选存在或者不存在查询出来数据都是0,貌似地下这两个有一个没生效啊
    2020-09-02 15:05 
  • 用户A0991231 用户A0991231(提问者) 谢谢大佬,Ok了,已采纳
    2020-09-02 15:26 
最佳回答
0
snrtuemcLv8专家互助
发布于2020-9-2 14:48(编辑于 2020-9-2 15:22)

这边的“${}”去掉,直接就参数就可以

image.png

${if(len(comb)==0,"",if(comb="0","and aa.jssl=0","and aa.jssl>0"))}

  • 用户A0991231 用户A0991231(提问者) 老哥,这样写确实不报错了,但是选存在或者不存在查询出来数据都是0,貌似地下这两个有一个没生效啊
    2020-09-02 15:05 
  • snrtuemc snrtuemc 回复 用户A0991231(提问者) 看你的意思,最后三局需要改成这样,见修改答案 ${if(len(comb)==0,\"\",if(comb=\"0\",\"and aa.jssl=0\",\"and aa.jssl>0\"))}
    2020-09-02 15:22 
  • 用户A0991231 用户A0991231(提问者) 谢谢大佬,Ok了
    2020-09-02 15:27 
最佳回答
0
廿旧Lv5见习互助
发布于2020-9-2 15:36(编辑于 2020-9-2 15:37)

如果不选,出全部的话,就if(len(trim(comb))=0,"",""),不做任何处理

如果选择,那就根据情况。

if(comb==0&&len(trim(comb))>0,"and aa.jssl=0","and aa.jssl>0")


最佳回答
0
用户a8068717Lv4初级互助
发布于2020-9-2 22:31
${if(len(comb)=0,'',if(comb=0,'and aa.jss1=\''+comb+'\'',if(comb=0.1,'and aa.jss1>=\''+comb+'\'','')))}
  • 6关注人数
  • 494浏览人数
  • 最后回答于:2020-9-2 22:31
    请选择关闭问题的原因
    确定 取消
    返回顶部