orcalesql

目前我只会查询一个周之内的数据(定值),但是我想要查到当周前推两周后推九周的数据,这该怎么写?SELECT
    a.DIVISION_NAME,
    e.fmweek,
    COUNT (a.CUSTOMER_DEMAND_DATE) 按期交付个数
FROM
WR_OPC_investment_info  c INNER JOIN WR_OPC_Pre_investment_info b ON
     b.PROJECT_NO = c.PROJECT_NO
INNER JOIN  WR_OPC_Forecast_info  a  ON b.OPPORTUNITY_NO = a.OPPORTUNITY_NO
INNER JOIN MDM_DIVISION d ON a.DIVISION_NO=d.DIVISION_NO
INNER JOIN MDM_TIME e ON a.CUSTOMER_DEMAND_DATE=e.fdate
WHERE
to_char(a.CUSTOMER_DEMAND_DATE,'yyyyMM')  = '202010'--月份
and e.fmweek ='2020101' --2020十月第一周
and ((C.ACTUAL_END_DATE is not NUll ) OR (C.PLAN_END_DATE is not NUll ))
AND to_char(C.ACTUAL_END_DATE,'yyyyMMdd') <= to_char(A.CUSTOMER_DEMAND_DATE,'yyyyMMdd')
GROUP BY a.DIVISION_NAME,e.fmweek ORDER BY e.fmweek
因为往后推九周是没有数据的,得查其他的三张表

愤怒的老头 发布于 2020-11-4 10:51 (编辑于 2020-11-4 10:52)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
虾米、木木Lv2初级互助
发布于2020-11-4 11:19

select  sysdate - interval '7' day  from dual 往前推七天

最佳回答
0
无敌小菜鸡Lv6初级互助
发布于2020-11-4 11:41

这个逻辑不是一样的么, 就是把你的日期过滤条件改了就好了啊,直接百度 oracle 支持的日期函数不就好了

  • 3关注人数
  • 322浏览人数
  • 最后回答于:2020-11-4 11:41
    请选择关闭问题的原因
    确定 取消
    返回顶部