季度查询
SELECT DISTINCT report_date AS 本季度, ( select distinct report_date  from eva_norm_report where  substr( report_date, 1, 4 ) = '2021'  AND to_char( to_date( report_date, 'YYYYMM' ), 'Q' ) = '1' ) as 上一季度 FROM eva_norm_report  WHERE substr( report_date, 1, 4 ) = '2021'  AND to_char( to_date( report_date, 'YYYYMM' ), 'Q' ) = '1'

image.png

现在本季度能查出来,还有一列是查询上季度的,上季度的这个怎么做减3操作然后查出来上一季度的数据啊

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

你的参数是不是传入一个年份、一个季度两个值?

-------------

本季度: REPLACE(UNIQUEARRAY(MAPARRAY(range(todate(CONCATENATE($YEAR_,SWITCH($QQ_,1,"-01",2,"-04",3,"-07",4,"-10"),"-01")),todate(CONCATENATE($YEAR_,SWITCH($QQ_,1,"-03",2,"-06",3,"-09",4,"-12"),"-01")),1),FORMAT(ITEM,'yyyyMM'))),",","','")

上季度:

REPLACE(UNIQUEARRAY(MAPARRAY(range(todate(CONCATENATE(IF($QQ_=1,$YEAR_-1,$YEAR_),SWITCH($QQ_,1,"-09",2,"-01",3,"-04",4,"-07"),"-01")),todate(CONCATENATE(IF($QQ_=1,$YEAR_-1,$YEAR_),SWITCH($QQ_,1,"-12",2,"-03",3,"-06",4,"-09"),"-01")),1),FORMAT(ITEM,'yyyyMM'))),",","','")

image.png

image.png

image.png

上季度的值 用 to_date( report_date, 'YYYYMM' ) in ('${上季度}')

本季度用 to_date( report_date, 'YYYYMM' ) in ('${本季度}')

  • yzmknhfW9631117 yzmknhfW9631117(提问者) 是的
    2023-01-17 11:47 
  • Z4u3z1 Z4u3z1 回复 yzmknhfW9631117(提问者) 补充了 参考
    2023-01-17 12:00 
  • yzmknhfW9631117 yzmknhfW9631117(提问者) 您写的这个不能写到sql里吧
    2023-01-17 13:28 
  • Z4u3z1 Z4u3z1 回复 yzmknhfW9631117(提问者) 你要放进去也可以 to_date( report_date, \'YYYYMM\' ) in (\'\"+REPLACE(UNIQUEARRAY(MAPARRAY(range(todate(CONCATENATE(IF($QQ_=1,$YEAR_-1,$YEAR_),SWITCH($QQ_,1,\"-09\",2,\"-01\",3,\"-04\",4,\"-07\"),\"-01\")),todate(CONCATENATE(IF($QQ_=1,$YEAR_-1,$YEAR_),SWITCH($QQ_,1,\"-12\",2,\"-03\",3,\"-06\",4,\"-09\"),\"-01\")),1),FORMAT(ITEM,\'yyyyMM\'))),\",\",\"\',\'\")+\"\')
    2023-01-17 13:53 
最佳回答
0
runnerLv7资深互助
发布于2023-1-17 11:45

你直接本季度 left join 上季度的 ,做一个关联条件不就行了

最佳回答
0
指间沙Lv6中级互助
发布于2023-1-17 15:00

为什么不把月份处理成季度,在sql里面?

最佳回答
0
YmengLv5中级互助
发布于2023-1-17 15:25

image.png

已私信回答

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