sql数据集里面如何使用if判断参数,继续拼接sql语句

image.png

image.png

image.png

${if("select count(1)

from dim_zb_user a

left join dim_zb_group d on a."group"=d._id

where 1=1  if(len(HDsn) == 0 || HDsn == "chendongxian" || HDsn == "longjinjie",""," and a.account = '" + HDsn + "' ")    > 8 

,"union all select 99,'所有水厂' ,null,"" ")}

image.png

--最新,参数不出来了。

image.png

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

好多错误,${}中查询需要sql()函数,if判断后面有两个条件,你查询后>8的后面判断看不出你要怎么写,反正你的是错误,你根据实际写一下,前面的判断条件是我这个写法

这个写法

${if(sql("数据连接","select count(1) from dim_zb_user a left join dim_zb_group d on a.\"group\"=d._id where 1=1"+if(len(HDsn) == 0 || HDsn == "chendongxian" || HDsn == "longjinjie",""," and a.account = '" + HDsn + "'"),1,1) > 8 ,"union all select 99,'所有水厂' ,null,''","")}

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

image.png

  • Brmise Brmise(提问者) com fr. general. data. TableDataxception:错误代码:11300001 数据集配置错误“$”附近有语法错误。
    2025-06-24 13:59 
  • snrtuemc snrtuemc 回复 Brmise(提问者) 看我的sql,你a.group中,有"",我的""前有\注释,你的没有啊
    2025-06-24 14:01 
  • Brmise Brmise(提问者) 回复 snrtuemc 这个加不加都不影响,我现在改好了,但是参数不出现了。
    2025-06-24 14:10 
  • snrtuemc snrtuemc 回复 Brmise(提问者) 你拷贝我的sql可不可以,不要自己写啊,我这完全可以,看修改答案
    2025-06-24 14:15 
  • Brmise Brmise(提问者) 回复 snrtuemc 我前面就是拷贝你的sql,报错我才修改的,这次可以了,感谢!!!
    2025-06-24 14:48 
最佳回答
0
用户k6280494Lv6专家互助
发布于5 天前(编辑于 5 天前

${if(xxx,if(xxx,xx,xx),xx)}

-------------------

${if()} 里面不在需要${if()}了 直接if(xxx,xxx,xx)

image.png

image.png

最佳回答
0
快乐星光Lv5中级互助
发布于5 天前(编辑于 5 天前

换个方式,就可以了

image.png

  • 4关注人数
  • 75浏览人数
  • 最后回答于:5 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部