这个公式怎么写才是对的

${IF(p_flag == '汇总' && p_lunbo = "不轮播" && p_pause == "不暂停","","/*"}

SELECT

 device_no AS 设备编号,

 create_time AS 时间,

 actual_noise AS 实际噪声

FROM

 t_iot_day_date

WHERE 1=1 

${IF(p_flag == '汇总' && p_lunbo = "不轮播" && p_pause == "不暂停","","*/"}

${IF(p_flag == '不汇总' && p_lunbo = "轮播" && p_pause == "不暂停","","/*"}

SELECT

 device_no AS 设备编号,

 create_time AS 时间,

 actual_noise AS 实际噪声

FROM

 t_iot_day_date

WHERE 1=1 

 ${IF(p_flag == '不汇总' && p_lunbo = "轮播" && p_pause == "不暂停","","*/"}

 ${IF(p_flag == '不汇总' && p_lunbo = "不轮播" && p_pause == "暂停","","/*"}

SELECT

 device_no AS 设备编号,

 create_time AS 时间,

 actual_noise AS 实际噪声

FROM

 t_iot_day_date

WHERE 1=1 

 ${IF(p_flag == '不汇总' && p_lunbo = "不轮播" && p_pause == "暂停","","*/"}

FineReport 不可爱小羊 发布于 2023-12-4 10:56
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-12-4 10:57(编辑于 2023-12-4 11:08)

${if()}里面不能再有${if()}

${IF(p_flag == '汇总' && p_lunbo = "不轮播" && p_pause == "不暂停","

SELECT

 device_no AS 设备编号,

 create_time AS 时间,

 actual_noise AS 实际噪声

FROM

 t_iot_day_date

",if()}

  • 不可爱小羊 不可爱小羊(提问者) 这是单独的${if()}啊
    2023-12-04 11:01 
  • 用户k6280494 用户k6280494 回复 不可爱小羊(提问者) 那你这个逻辑有问题啊
    2023-12-04 11:02 
  • 用户k6280494 用户k6280494 回复 不可爱小羊(提问者) 不能这么写,要把sql写在\"\"里面啊,你这个写法实在是看不懂
    2023-12-04 11:03 
  • 不可爱小羊 不可爱小羊(提问者) 回复 用户k6280494 就是上面定义了三个参数,每等于一个参数就执行一个sql其余的sql注释掉
    2023-12-04 11:06 
  • 用户k6280494 用户k6280494 回复 不可爱小羊(提问者) 参考,新的
    2023-12-04 11:08 
最佳回答
0
快乐星光Lv5中级互助
发布于2023-12-4 11:05

${IF(p_flag == '不汇总' && p_lunbo = "不轮播" && p_pause == "暂停","","*/"}

右边少个)

${IF(p_flag == '不汇总' && p_lunbo = "不轮播" && p_pause == "暂停","","*/")}

  • 不可爱小羊 不可爱小羊(提问者) 这个不是,我是要实现整体的功能,不是这里少个括号
    2023-12-04 11:07 
  • 快乐星光 快乐星光 回复 不可爱小羊(提问者) 你的整体功能就是有选择的运行sql语句,你把所有的都加上)看看,就是是少了)。
    2023-12-04 11:13 
最佳回答
0
姬迷怎滴Lv5初级互助
发布于2023-12-4 13:41(编辑于 2023-12-4 13:44)

${if(条件,返回1,返回2)}

${if(条件,返回1,if(条件,返回1,返回2))}

${if(条件,if(条件,返回1,返回2),if(条件,返回1,返回2))}

if要这样写,你少括号,你都能想到用if拼/**/那为什么不直接放sql在里面?

${IF(p_flag == '汇总' && p_lunbo = "不轮播" && p_pause == "不暂停",

"SELECT

 device_no AS 设备编号,

 create_time AS 时间,

 actual_noise AS 实际噪声

FROM

 t_iot_day_date

WHERE 1=1 ","")}

${IF(p_flag == '不汇总' && p_lunbo = "轮播" && p_pause == "不暂停",

"SELECT

 device_no AS 设备编号,

 create_time AS 时间,

 actual_noise AS 实际噪声

FROM

 t_iot_day_date

WHERE 1=1 ","")}

 ${IF(p_flag == '不汇总' && p_lunbo = "不轮播" && p_pause == "暂停","SELECT

 device_no AS 设备编号,

 create_time AS 时间,

 actual_noise AS 实际噪声

FROM

 t_iot_day_date

WHERE 1=1 ","")}

最佳回答
0
coldvcolaLv5见习互助
发布于2023-12-4 15:38

把if后面的p_flag == '汇总' && p_lunbo = "不轮播" && p_pause == "不暂停"换成and(p_flag == '汇总' , p_lunbo = "不轮播" , p_pause == "不暂停"),试试

最佳回答
0
虎虎生威呀Lv5见习互助
发布于2023-12-4 15:47

解决了吗?

最佳回答
0
江思成Lv5见习互助
发布于2023-12-4 15:51(编辑于 2023-12-4 15:54)

${IF(p_flag == '汇总' && p_lunbo = "不轮播" && p_pause == "不暂停","","/*"}最后的大括号前面少半个括号${IF(p_flag == '汇总' && p_lunbo = "不轮播" && p_pause == "不暂停","","/*")}你的${if()}公式都没写完整,能运行才怪了

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