sql中写表达式,参数值不能匹配到

image.png如图,需求是通过下拉框来判断执行那个SQL,本来SQL中如果不写参数,外部参数‘单选按钮’还是可以显示的,如果在SQL中也加入参数,就只能显示SQL中的参数了。就不能实现通过单选按钮的值控制执行那个SQL了。image.pngimage.png

FineReport spongebob 发布于 2023-7-28 09:02 (编辑于 2023-7-28 09:51)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-7-28 09:03(编辑于 2023-7-28 09:55)

写法错误

XXXwhere "+内部条件+" =1XXX

==============

拼接有问题,少符号了,可以的话,贴出语句,帮你修改下

===========

${if(按钮="收货", "SELECT .......... FROM ......... WHERE 1=1 "

+ if(len(WMS系统) == 0,"","and cvsprod.srv_so.wms_system in ('" + joinarray(split(WMS系统,","),"','") +"')")

+ "GROUP BY ......","第二个SQL")}

image.png

  • spongebob spongebob(提问者) 如果我的内部条件是:${if(len(业务类型) == 0,\"\",\"and cvsprod.cmd_so.business_type in (\'\" + joinarray(split(业务类型,\",\"),\"\',\'\") +\"\')\")}这种很复杂的怎么改呢
    2023-07-28 09:07 
  • snrtuemc snrtuemc 回复 spongebob(提问者) 你这个写法对的啊,已经有${}后,要用帆软公式,需要+去拼接了
    2023-07-28 09:09 
  • snrtuemc snrtuemc 回复 spongebob(提问者) 你的截图,前面少了拼接符号,看修改答案
    2023-07-28 09:22 
  • spongebob spongebob(提问者) 回复 snrtuemc 加了好像也不太对,而且预览SQL会显示‘+’
    2023-07-28 09:30 
  • snrtuemc snrtuemc 回复 spongebob(提问者) 你的语句不对啊,${}里面有嵌套${},后面的Gruop by又没有使用拼接,这届拷贝整个语句贴出来,帮你修改
    2023-07-28 09:39 
最佳回答
0
CD20160914Lv8专家互助
发布于2023-7-28 09:03

${if(单选按钮="ss","select * from 表名称  where 字段名称='"+参数名称2+"'","")}

最佳回答
0
用户k6280494Lv6资深互助
发布于2023-7-28 09:03

字段='"+ 内部条件 +"'

最佳回答
0
我再Lv5见习互助
发布于2023-7-28 09:49

where 1=1 后面的 ${ 换成 "+     }换成+"  试试

  • 4关注人数
  • 402浏览人数
  • 最后回答于:2023-7-28 09:55
    请选择关闭问题的原因
    确定 取消
    返回顶部