如果实现按照条件查询表

目前有6张表,分条件查询具体表,每个表的字段和数据不一样。

目前有两个思路:

①加标签,用union拼接之后在按条件进行过滤【所有表都要查询一下,效率低】

②按条件查询,需要那个查那个

写法${type='要求1',"select * from a","select * from b"}

目前按照2做,直接测试可以,但是加了where条件【会叠加控件参数】,就会错乱,大佬看看怎么解决,还是直接用case when ${type}='要求1'  then (select * from a),好像不能这么用

FineReport 坚定的小帆薯 发布于 2023-7-13 14:32
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-7-13 14:36

${if(type='要求1',"select * from a where 1=1"+if(len(a)==0,""," and xxx='"+a+"'"),"select * from b where 1=1"+if(len(a)==0," and 1<>1"," and bbb like '%"+a+"%'"))}

最佳回答
0
snrtuemcLv8专家互助
发布于2023-7-13 14:34

这个写法啊,里面参数书不要用${}le 

${type='要求1',"select * from a where a1='"+a1+"'" ,"select * from b  b1='"+b1+"'""}

  • 1关注人数
  • 224浏览人数
  • 最后回答于:2023-7-13 14:36
    请选择关闭问题的原因
    确定 取消
    返回顶部