当控件的返回类型设置为:数组,应该是会将if第三参数的代码重复一遍,可是为什么会出现两种情况?

当控件的返回类型设置为:数组,应该是会将if第三参数的代码重复一遍,可是为什么会出现两种情况?

sum case when 就把if第三参数的代码给重复了,但是where只重复了if第三参数的后半段?

另外想问下,怎么控制,数组,在代码中不自动加入 “,”

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

没有看明白你要做什么,你录入的参数是什么,最终想实现什么效果,把语句复制出来。。都说清楚吧,你这样只截图说明,也看不懂你到底要做什么

  • yzmaizfF8924216 yzmaizfF8924216(提问者) 我想实现,参数拿到控件传过来的值后,自动重复代码,比如sum case when 那段代码是:参数lieq拿到了复选框控件传过来的数组(数组内容:自营,定点采购(市场),储备),为什么代码就可以自动重复,sum case when 三次 最终让整段sql代码正常运营达到我想要的效果。 但是同样的我写了另一段关于where 想筛选 分类1字段下面的 蔬菜,肉类,其它家禽,却没有自动帮我重复三次 ,达到我想要的效果: and 分类1=\"01蔬菜\" and 分类1=\"02肉类\" and 分类1=\"03其它家禽\"?
    2023-01-08 09:53 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) 两者都是复选框,都是设置的返回数组
    2023-01-08 09:53 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) SELECT * FROM `订单列表(含退货)` where 1=1 ${if(len(shai)=0,\"\",\" and \"+shai+\" =\'\"+shaiq+\"\'\")}
    2023-01-08 10:10 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) select ${if(len(hang)=0,\"\",replace(hang,\',系统金额\',\'\')+\",\")} ${if(and(len(lie)=0,len(lieq)=0),\"sum(系统金额)\",\"sum(case when \"+ lie+\"=\'\"+lieq+\"\'then 系统金额 end) as \'\"+lieq+\"\'\")} from `订单列表(含退货)
    2023-01-08 10:19 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) 大佬,我还想知道,数组返回的时候,自动给我带了一个逗号,这个逗号,可以由我控制是否输出吗?
    2023-01-08 10:44 
  • 2关注人数
  • 257浏览人数
  • 最后回答于:2023-1-5 17:11
    请选择关闭问题的原因
    确定 取消
    返回顶部