mysql—当一列日期比另一列日期晚4周时,查询获取记录时出现问题

wtlkbnrh  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(236)

我试图解决这个问题,我有两个表:1)计划-sku,仓库,目标\周,快照\周,预计\值。2) 实际发货-sku、仓库、目标发货周、发货数量。
简短说明:目标\u周是必须交付计划发货的日期,快照\u周是生成计划计划计划的日期,预计\u值是给定sku x仓库组合的该目标\u周的计划发货值。发货数量是已发货的实际发货价值。目标\u周和快照\u周是一周的星期日
因此,我的问题陈述是,我必须比较每个sku的实际值和预测值,仓库组合为一个特定的目标\u周,并显示已计划的预测值,通过返回4周前,8周前,12周前等使用快照\u周变量。
我以实际的货物作为基表,在两者之间进行了左联接。

with values as 

 (select * from 
   (

    (select * from planning) a

       left join 

   (select * from actual_shipment) b on a.sku = b.sku  and a.warehouse = b.warehouse and a.target_week = b.target_week

)

select *,

CASE WHEN snapshot_week = DATE_ADD(CAST(target_week AS DATE), INTERVAL -4 WEEK) THEN projected_value END AS Proj_Quant_4weeksago,

CASE WHEN snapshot_week = DATE_ADD(CAST(target_week AS DATE), INTERVAL -8 WEEK) THEN projected_value END AS Proj_Quant_8weeksago

.......
这样持续了16周。
我的输出应该如下:sku-仓库-目标\周-发货\数量-预计\数量\ 4周前-预计\数量\ 8周前。。。。。。等等
但我的问题是,通过这个查询,我无法获得从目标\u周到快照\u周的所有周(并显示为空)的预测值,即使这些值存在于计划表中。
谁能帮我一下我哪里做错了?我试着从3天开始排除故障。
谢谢!!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题