习题五中数据集sql中,多参数非空判断语句如何写

参数联动.cpt

无标题.png

FineReport CR7 发布于 2019-7-29 16:46 (编辑于 2019-7-31 10:41)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
rabbitliuLv7初级互助
发布于2019-7-29 16:50(编辑于 2019-7-29 16:56)



${if(len(classNo)==0,""," and classno = '"+classNo+"'")}


${if(len(studentNo)==0,""," and studentno = '"+studentNo+"'")}


  • CR7 CR7(提问者) 谢谢
    2019-07-29 16:56 
  • CR7 CR7(提问者) 但是都是空的话并没有查询出所有。而且如何设置父子格关系展示自由报表的样式,谢谢
    2019-07-29 17:43 
最佳回答
0
Chris陈瑜Lv1见习互助
发布于2019-7-29 16:55(编辑于 2019-7-29 16:55)

if()函数返回的是选择出来的结果,你这样写,中间加了逗号,就会导致结果变成and classno = "",and studentno = "",这样sql肯定是不认识的,把逗号去掉就可以了.

以下是参考例子,希望对你有帮助

${IF(classno == "","group by classno","and classno = '"+classno + "'")}

${IF(studentno == "","","and studentno in ('"+studentno + "')")}

PS,写两个IF会更直观一些


  • CR7 CR7(提问者) 谢谢
    2019-07-29 16:56 
  • Chris陈瑜 Chris陈瑜 回复 CR7(提问者) 给萌新一个采纳吧,
    2019-07-29 17:00 
  • CR7 CR7(提问者) 回复 Chris陈瑜 但是都是空的话并没有查询出所有。而且如何设置父子格关系展示自由报表的样式,谢谢
    2019-07-29 17:19 
  • Chris陈瑜 Chris陈瑜 回复 CR7(提问者) 正确的sql肯定是查全部的,你看看是不是翻页的问题?
    2019-07-29 18:28 
  • Chris陈瑜 Chris陈瑜 回复 CR7(提问者) 后一个你说那个自由报表是什么意思,具体想实现什么
    2019-07-29 18:29 
  • 3关注人数
  • 523浏览人数
  • 最后回答于:2019-7-31 10:41
    请选择关闭问题的原因
    确定 取消
    返回顶部