casewhen能和参数联动吗?

1647849784(1).jpg如下:我想做一个当p1=1时,查询AMOUNT1,当p1  =2 时,查询  AMOUNT2

例子: select   case  when ‘${p1}’=1  then  sum(“AMOUNT1”) 

when ${p1}’=2 then  sum(“AMOUNT1”) else  ‘ ’end

from  表

这个公式是我理想中的,但是实际写了不对。不知道是我写错了,还是不能这样写

FineReport 迷人魔男相川步 发布于 2022-3-21 15:47 (编辑于 2022-3-21 16:04)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
hotfog119Lv7初级互助
发布于2022-3-21 16:14(编辑于 2022-3-22 10:48)

写法一:select   (case  when ‘${p1}’=1  then  sum(“AMOUNT1”) 

when ${p1}’=2 then  sum(“AMOUNT1”)  else  null end)

from  表

写法二:

select   (case  when ‘${p1}’=1  then  sum(“AMOUNT1”) 

when ${p1}’=2 then  sum(“AMOUNT1”)   end)

from  表

你 else 后面接的条件可能有问题,改成null 或者不要else 结尾

最佳回答
0
CD20160914Lv8专家互助
发布于2022-3-21 15:49

select   case  when ‘${p1}’=1  then  sum(AMOUNT1) 

when ${p1}’=2 then  sum(AMOUNT1) else  0 end as 字段

from  表

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-3-21 15:50

select   (case  when ${p1}=1  then  sum(AMOUNT1) 

when ${p1}=2 then  sum(AMOUNT1) else ''  end ) [ss]

from  表

最佳回答
0
助人为乐Lv4中级互助
发布于2022-3-21 16:07

if{($(p1=1),sum(AMOUNT1),sum(AMOUNT2))}这个拿去改装一下

  • 迷人魔男相川步 迷人魔男相川步(提问者) 好的,我试下
    2022-03-21 16:13 
  • 助人为乐 助人为乐 回复 迷人魔男相川步(提问者) 嗯搞不定你在回复
    2022-03-21 16:27 
  • 迷人魔男相川步 迷人魔男相川步(提问者) 不对额,这连参数也不展示啊
    2022-03-21 16:42 
  • 助人为乐 助人为乐 回复 迷人魔男相川步(提问者) select ${if(p1=\"1\",\",sum(AMOUNT1)\",\"\")} ${if(p1=\"2\",\",sum(AMOUNT2)\",\"\")} from 表 select expense_year, ${if(p1=\"1\",\"sum(amount_money)\",\"\")} ${if(p1=\"2\",\"sum(product_income_cost)\",\"\")} from表 group by expense_year
    2022-03-21 17:15 
  • 4关注人数
  • 430浏览人数
  • 最后回答于:2022-3-22 10:48
    请选择关闭问题的原因
    确定 取消
    返回顶部