数据集中if中能用SQL判断吗

比如

select * from dual

where if(sql=值,"","")

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

https://help.fanruan.com/finereport/doc-view-4244.html   --4.2.2 SQL中使用SQL函数

---------

image.png

  • 帆软用户cp0VecIO4p 帆软用户cp0VecIO4p(提问者) IF(sql(\"ztsc\",\"SELECT count(1) fr_project_cstattribute where 1=1 if(len(项目名称) == 0,\"1=1\",\"and hdrid in (\" + 项目名称 + \")\") IF(len(子项目名称) == 0,\"1=1\",\"and dtlid in (\" + 子项目名称 + \")\") AND CSTBUTE=1, \",1,1)=1,\"1\",\"0\")
    2023-11-01 18:08 
  • 帆软用户cp0VecIO4p 帆软用户cp0VecIO4p(提问者) SQL函数中不能套用IF判断
    2023-11-01 18:09 
  • Z4u3z1 Z4u3z1 回复 帆软用户cp0VecIO4p(提问者) SQL都写错了。参考上面补充的图(PS:你的参数格式是\'值1\',\'值2\',\'值N\'的么?如果不是in里面的参数根据实际格式修改)
    2023-11-02 08:53 
  • 帆软用户cp0VecIO4p 帆软用户cp0VecIO4p(提问者) 回复 Z4u3z1 复制进来成这样了。
    2023-11-02 11:02 
  • 帆软用户cp0VecIO4p 帆软用户cp0VecIO4p(提问者) SELECT a.hdrid FROM fr_project_hdr a $IF(sql(\"ztsc\",\"SELECT count(1) from fr_project_cstattribute where 1=1 and hdrid= \'${项目名称}\' and dtlid=nvl(\'${子项目名称}\',0) AND CSTBUTE=2,1,1)>=1,\",(SELECT a.hdrid, a.dtlid, a.GKUNIFYCST, b.cstid FROM fr_project_cst a, (SELECT ID CSTID,SINOPHARM_ID FROM CMSXTY.SPM_PRODUCER_EXT@CX_CMS) b WHERE a.CSTBUTE=2 AND a.hdrid=\'\" + 项目名称 + \"\' AND a.dtlid=nvl(\'\" + 子项目名称 + \"\',0) AND a.GKUNIFYCST=b.SINOPHARM_ID ) C\",\"\") WHERE 1=1 $IF(sql(\"ztsc\",\"SELECT count(1) from fr_project_cstattribute where 1=1 and hdrid= \'\" + 项目名称 + \"\' and dtlid=nvl(\'\" + 子项目名称 + \"\',0) AND CSTBUTE=2,1,1)>=1,\"a.id=c.hdrid(+) and a.dtlid=c.dltid(+)\")
    2023-11-02 11:02 
  • 1关注人数
  • 272浏览人数
  • 最后回答于:2023-11-2 08:51
    请选择关闭问题的原因
    确定 取消
    返回顶部