数据集有没有办法根据参数选择的字符,去判断将值带进对应的字段里?

场景:参数面板下拉框是复选框,里面的内容自定义放的是原辅料/内包材/外包材料,能实现判断当选择原辅料时,SQL参数and带入的是字段1,选择内包材/外包材时,SQL参数and带入的是字段二吗?

${if(len(gys)=0,""," and NAME1 in ('"+gys+"')")} 类似这种方式如何实现?

B(V6RR`KTVVQ6{@7DRGAR47.png

FineReport vinny 发布于 2022-11-9 11:56 (编辑于 2022-11-9 13:18)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
vinnyLv4见习互助
发布于2023-2-6 15:30

已解决

最佳回答
0
重庆一棵草Lv4中级互助
发布于2022-11-9 11:58(编辑于 2022-11-9 11:59)

显示值和实际值这里设置一下image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-11-9 11:59(编辑于 2022-11-9 12:00)

where 1=1 ${if(gys=="原辅料"," AND NAME1 IN('"+gys+"')"," AND NAME2 IN ('"+gys+"')")}

  • vinny vinny(提问者) gys==\"原辅料\"是针对只有字段1数据只有原辅料和包材这种情况,如果字段1还有别的数据,例如再加上个杯盖,那这个要怎么写呢?
    2022-11-09 13:17 
  • Z4u3z1 Z4u3z1 回复 vinny(提问者) 有点懵 没理解到
    2022-11-09 13:56 
  • vinny vinny(提问者) 回复 Z4u3z1 就是我的字段1的数据有原辅料、包材、杯盖。${if(gys==\"原辅料\",\" AND NAME1 IN(\'\"+gys+\"\')\",\" AND NAME2 IN (\'\"+gys+\"\')\")}你这句话是当字段1等于原辅料的时候带入NAME1,其他的就带入NAME2。但是我的杯盖也要带入NAME1,即只有内包材、外包材要带入name2,其他的都要带入name1这个字段。该如何写呢?
    2022-11-09 16:15 
  • Z4u3z1 Z4u3z1 回复 vinny(提问者) ${if(or(gys==\"内包材\",gys==\"外包材\"),\" AND NAME2 IN(\'\"+gys+\"\')\",\" AND NAME1 IN (\'\"+gys+\"\')\")}
    2022-11-09 16:17 
最佳回答
0
用户k6280494Lv6资深互助
发布于2022-11-9 12:03(编辑于 2022-11-9 12:40)

select ${if(find("原辅料",gys)>0,"字段1",if(or(find("内包材",gys)>0,find("外包材",gys)>0),"字段二",''))} from 表

例如

image.png

image.png

  • 2关注人数
  • 304浏览人数
  • 最后回答于:2023-2-6 15:30
    请选择关闭问题的原因
    确定 取消
    返回顶部