帆软

在一张表中,取当天的数据,如图第一列是天数,第2,3列是月份,

如果当天没有数据,就取2,3列为月的数据

image.png

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

一般处理方式,把这两个字段都拖到报表里面(隐藏),然后用公式(if(len(a2)==0,b2,a1))判断获取值

----------

SqlServer为例

SELECT *,(CASE WHEN PLANNED_TIME='' THEN COCAT(plan_year,'/',plan_month,'/01') ELSE PLANNED_TIME END) FROM TABLE 

image.png

最佳回答
0
luojian0323Lv7资深互助
发布于2023-10-27 11:06

将两个字段在一个查询数据集中

判断 nvl(字段1,字段2) 字段名

最佳回答
0
快乐星光Lv5中级互助
发布于2023-10-27 11:21

你的意思是想要有一个新字段,默认取第一列值,如果第一列值为空,就取第二三四列组成的日期。

可以用isnull(字段1,CONCAT(字段2,字段3,字段4))

或者 case when 字段1 is null then CONCAT(字段2,字段3,字段4) else 字段1 end as 新字段

  • 3关注人数
  • 207浏览人数
  • 最后回答于:2023-10-27 11:21
    请选择关闭问题的原因
    确定 取消
    返回顶部