${IF(参数=A,\"withTEMQ_CJD_SE_ZW_35_avgas...\"报错

error.jpg

上面的SQL单独执行没有任何问题,加入在$IF(参数=A)中的,执行就会报错,请教各位老师,是什么问题了,我的需求就是,当参数等于A的时候,执行一段带临时表的 SQL语句,参数等于B的时候,再执行另一段带临时表的 SQL语句,我这样的语句块有6个,不知道能不能在定义数据集的时候实现。

FineReport 18163074040 发布于 2020-12-3 13:44
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
指间沙Lv6中级互助
发布于2020-12-3 13:48(编辑于 2020-12-3 13:56)

www.cpt

兄弟,,,我建议不要这么写。,。直接通过隐藏显示的方式来弄就好了。简单,又容易排错。分开写,写6段。然后表格也写6个。。通过隐藏的方式来控制。

  • 18163074040 18163074040(提问者) 指间沙兄你好,我刚学习FineReport才一个星期左右,很多地方学的是一头雾水,很多功能都还处于摸索中,你说的这种方式,该怎么弄,有没有例子,先谢了。
    2020-12-03 13:53 
  • 指间沙 指间沙 回复 18163074040(提问者) 看我demo...这边我写了两个查询,一个查TV,一个查dvd,都放进去,然后当下拉框选择tv的时候隐藏DVD,当选择DVD的时候隐藏TV
    2020-12-03 13:57 
  • 指间沙 指间沙 回复 18163074040(提问者) 多个的话也是以此类推。
    2020-12-03 13:58 
  • 18163074040 18163074040(提问者) 回复 指间沙 好的,我按你的demo先研究研究,感谢。
    2020-12-03 14:43 
  • 指间沙 指间沙 回复 18163074040(提问者) 就是有六段直接写留个数据集,,,上面的查询条件只是用来控制显示不显示而已。
    2020-12-03 14:55 
最佳回答
0
snrtuemcLv8专家互助
发布于2020-12-3 13:47(编辑于 2020-12-3 13:48)

这种地方都要改成下面格式,,三个地方:客户,开始日期,结束日期

举例子:

$if{参数="A","with XXXXccustomerid='"+客户+"') andXXXX",""}

image.png

  • 18163074040 18163074040(提问者) 非常感谢各位老师的耐心指导,我已按上图的格式调试好了。谢谢。
    2020-12-03 15:45 
最佳回答
0
牛~~~Lv6中级互助
发布于2020-12-3 13:58(编辑于 2020-12-3 13:58)

建议你这么写(子查询写法):

with T1 as(

    SQL1

),

T2 as (

    SQL2

)

${IF(参数 = A,"SELECT * FROM T1","SELECT * FROM T2" )}


不是很熟练的话,建议不要把公式判断、SQL、参数杂合在一起写。

  • 18163074040 18163074040(提问者) 哎,我也不想啊,但有时候,需求就是这么复杂。
    2020-12-03 14:12 
  • 4关注人数
  • 379浏览人数
  • 最后回答于:2020-12-3 13:58
    请选择关闭问题的原因
    确定 取消
    返回顶部