${IF(参数,语句1,语句2)},字段不同,只能出来一个语句的字段

image.png

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

参数名,改成你的控件的名称才可以

======

PS

改成

${if(控件名="true","sql1","sql2")}

  • Clown. Clown.(提问者) 不是,是只能出来一个语句的字段,看左侧
    2024-12-03 10:44 
  • snrtuemc snrtuemc 回复 Clown.(提问者) 这个对的啊,只有你给参数了,他才会动态出现另一个语句字段,目前应该是出现第二个语句的字段,第一个不会,
    2024-12-03 10:46 
  • Clown. Clown.(提问者) 改了,只是没贴图,我想到一个方法,两条ds?可行? ${if(控件名="true","sql1")} ${if(控件名="false","sql2")}
    2024-12-03 10:48 
  • snrtuemc snrtuemc 回复 Clown.(提问者) 那就分两个数据集,写,第一个,${if(控件名="true","sql1","select 1")} 第二个数据集 ${if(控件名="false","sql2","select 1")} 这样还是两个数据集,一个数据集是不行的
    2024-12-03 10:51 
  • Clown. Clown.(提问者) 回复 snrtuemc 请问,如果想在语句里加 ${if(len(物料编码) == 0,"","and c.FNumber = '"+ 物料编码 + "'")} 这个怎么加,我刚刚加了 参数就剩一个 物料编码了
    2024-12-03 11:04 
最佳回答
0
Zzz1002Lv2见习互助
发布于2024-12-3 10:53

with a as (select 1 as column1,2 as column2 from dual),

b as (select 1 as column1,2 as column2,3 as column3 from dual),

c as (select 1 as column1,2 as column2,3 as column3,4 as column4 from dual) 

select

a.column1,a.column2,b.column3

${if(detail='True',"",",sum(c.column4)")}

from a

left join b on a.column1=b.column1 and a.column2=b.column2

${if(detail='True',"","left join c on a.column1=c.column1 and a.column2=c.column2")}

where 1=1

${if(detail='True',"","group by a.column1,a.column2,b.column3")}

${if(detail='True',"order by a.column1,a.column2,b.column3","")}

  • 3关注人数
  • 96浏览人数
  • 最后回答于:2024-12-3 10:53
    请选择关闭问题的原因
    确定 取消
    返回顶部