IF里面的条件可以写查询结果的字段值么?

 ${if(len(类型)=0, " and 1=2 ", " and 1=1 ")} 

这是一个比较标准的IF查询条件语句,现在想要把 " and 1=2 " 换成一个表单的字段值可以么?


例如数据库表单的查询结果如下

image.png


想请教一下大神们? 想要把查询条件下面的字段值根据前面的员工编号 写进数据集里面的SQL语句里面拼接 怎么实现呀?


select * from 人员表单 where 1=1 ${if(人员编号==fine_username, " select 查询条件 from 人员权限表单 where 人员编号='"+fine_username+"'", " and 1=2 ")} 


想要实现但是总报错!


FineReport maybe 发布于 2020-6-29 14:27
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
axingLv6专家互助
发布于2020-6-29 14:33
select * from 人员表单
where 1=1 
${if(fine_username="admin","", sql("数据连接名"," select 查询条件 from 人员权限表单 where 人员编号='"+fine_username+"'",1,1))}


  • maybe maybe(提问者) 感谢,回答的又快又好哈,这么查询的话 不在人员权限表单的编号 应该是全都看不到内容的 现在这样的话是全能看到,怎么过滤呀 谢谢
    2020-06-29 15:09 
  • axing axing 回复 maybe(提问者) 再判断一下sql公式返回的结果是不是空的,是空的话就拼接 and 1=2
    2020-06-29 15:47 
最佳回答
0
qhlLv6中级互助
发布于2020-6-29 14:32

这里的sql拼接不完整,最好是把sql完整写出来,然后再这里根据条件拼接

image.png

  • 4关注人数
  • 607浏览人数
  • 最后回答于:2020-6-29 14:33
    请选择关闭问题的原因
    确定 取消
    返回顶部