三个参数,任意填写一个参数可查询,或者填写三个参数都也可查询,怎么设置啊 着急~~

初学帆软,很多问题不太会,特此求助,月底公司需要完成这个报表,所以很着急,

比如说订单ID 订单日期 订单状态 输入任意填写一个或者俩个 三个控件值都可查询,请问该怎么实现,谢谢大家~

FineReport 18797774506 发布于 2019-9-25 14:57
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
张洪威Lv6高级互助
发布于2019-9-25 15:02

SELECT * FROM 订单 

where  1=1

${if(len(area) == 0,"","and 货主地区 in ('" + area + "')")}

${if(len(name) == 0,"","and 名字 in ('" + name+ "')")}


类似这种就,两个${}  里面嵌套if判断。

  • 18797774506 18797774506(提问者) 你好刚刚这个问题解决了。请问如何实现在不输入控件值得情况下显示所有数据。
    2019-09-25 15:32 
  • 张洪威 张洪威 回复 18797774506(提问者) 上面这个语句就能实现,你理解下那个if语句就行了。可以参考这个文档,下拉复选框参数为空选择全部-https://help.finereport.com/doc-view-2395.html
    2019-09-25 15:45 
  • 18797774506 18797774506(提问者) 回复 张洪威 下拉复选框的思想是和文本输入框的一样吗?因为我这个不是下拉复选框。 为什么这样设置后竟然把不符合条件的值也查出来了。 比如我要查城市为北京的数据,最屏幕上既有城市为北京的数据 也有没有北京的数据
    2019-09-25 15:50 
  • 18797774506 18797774506(提问者) 回复 张洪威 WHERE 1=1 ${if(len(id)==0,\"\",\"and majigo_order.id in(\'\"+id+\"\')\")} ${if(len(state)==0,\"\",\"and majigo_order.state in(\'\"+state+\"\')\")} ${if(len(city)==0,\"\",\"and majigo_address.city in(\'\"+city+\"\')\")} 这是我的sql语句
    2019-09-25 15:51 
  • 张洪威 张洪威 回复 18797774506(提问者) 文本框用=号。${if(len(name) == 0,\"\",\"and 名字 =\'\" + name+ \"\'\")} 类似这个,你理解下这里面的if语句就都懂了。
    2019-09-25 15:55 
  • 2关注人数
  • 264浏览人数
  • 最后回答于:2019-9-25 15:02
    请选择关闭问题的原因
    确定 取消
    返回顶部