判断查询日期是否有值,如果有值就取当前查询日期的值

假如我查2021年4季度。如果这个季度有数据就取这个季度的 如果没有就取2021年3季度,如果3季度也没有就取2季度的,依次类推,这种思路怎么实现,求助各位

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

假如你录入的是2021年1季度呢。万一没有数据,你是要依次怎么查?查2020年4季度?

那就直接取限制条件     季度字段 =  select max(季度字段) from table_cs where 季度字段<=202102

类似这样的查询就可以取到比如你查202104的时候,小于等于202104季度的所有数据。中最大的一个季度 。。。。。假如202104没有。。202103也没有。。最大的就是202102.。

select 

max(t.季度) as tt

from 

(

select 202101 as 季度 from dual union all

select 202102 as 季度 from dual union all

select 202003 as 季度 from dual union all

select 202004 as 季度  from dual union all

select 202001 as 季度  from dual

)  t

where t.季度<=202104

  • 北屿 北屿(提问者) 对的 查2020年4季度
    2021-12-31 14:18 
  • CD20160914 CD20160914 回复 北屿(提问者) 你的数据库里面有没有存日期格式的数据。假如你录入的2021年4季度,这个数据在数据库有存这样的内容?然后它对应的日期有没有。。
    2021-12-31 14:19 
  • 北屿 北屿(提问者) 回复 CD20160914 有的 数据库存的日期就是按照季度存的。比如2021年1季度存的就是202101 二季度就是202102
    2021-12-31 14:22 
  • CD20160914 CD20160914 回复 北屿(提问者) 上面的回复修改了。。。你看一下。。
    2021-12-31 14:25 
最佳回答
0
孤陌Lv6资深互助
发布于2021-12-31 14:43

那你直接 把 1 2 3 4 都查出来  然后 数据集 设置季度  汇总  设置求最大值 将可以了

  • 3关注人数
  • 357浏览人数
  • 最后回答于:2021-12-31 14:43
    请选择关闭问题的原因
    确定 取消
    返回顶部