有没有大佬帮忙看下,我的代码错在哪了

报错信息看了好久,没看出来错在哪

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

sum(${if(and(len(lie)==0,len(lieq)==0),"系统金额","(CASE WHEN "+lie+"='"+lieq+"' THEN 系统金额 ESLE 0 END)")}) as '${lieq}'

image.png

  • yzmaizfF8924216 yzmaizfF8924216(提问者) 多谢大佬,我找出原因了,是when和lie参数中间差了一个空格
    2022-12-27 15:04 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) 大佬可以解答下我刚发的问题吗
    2022-12-27 15:04 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) 大佬为什么,你写的代码 ==0 ?我见过的代码都是 =0 为什么你会写==0
    2022-12-27 15:06 
  • Z4u3z1 Z4u3z1 回复 yzmaizfF8924216(提问者) 习惯使然。判断习惯用两个逗号。其实在这个里面是一样的。你的另外一个问题没看懂
    2022-12-27 15:09 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) 回复 Z4u3z1 嗷嗷,原来如此。另外一个问题是这样的,想让用户在”下拉框“中选择表的任意一个字段,比如选了”仓库\",那么“复选框”就要出现“仓库”的去重字段,我在ds3中写的sql语句就是:select distinct 字段 from 表 ,现在的问题就是”下拉框“选了“仓库”,怎么把“仓库”传递给ds3, 在传递后,先假设去重后有两个字段”仓库A“,”仓库B“,那么在”复选框“就要出现”仓库A“和“仓库B”两个选项
    2022-12-27 15:36 
最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2022-12-26 15:41

image.png

这些括号是干啥的

  • yzmaizfF8924216 yzmaizfF8924216(提问者) 实现类似excel透视表列上放字段的功能,对应sql就是case when,想实现如果列上放字段就透视聚合,如果列上不放字段就返回”sum(系统金额)
    2022-12-27 15:01 
最佳回答
0
yzmaDt6d6191220Lv2见习互助
发布于2022-12-26 15:41

这一段的逻辑是什么,为什么不直接用case when语句?即便用if 前面也不用加and,而且and后面你用了两个lenimage.png

  • yzmaizfF8924216 yzmaizfF8924216(提问者) 实现类似excel透视表列上放字段的功能,对应sql就是case when,想实现如果列上放字段就透视聚合,如果列上不放字段就返回”sum(系统金额)
    2022-12-27 15:01 
  • yzmaizfF8924216 yzmaizfF8924216(提问者) and后面跟两个len,是同时满足两个参数为空,就返回“sum(系统金额)\",如果两个参数都有值,就返回case when
    2022-12-27 15:03 
  • 3关注人数
  • 237浏览人数
  • 最后回答于:2022-12-26 15:45
    请选择关闭问题的原因
    确定 取消
    返回顶部