Проблема с запросом при получении записей, когда дата одного столбца отстает от даты другого столбца на 4 недели - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь решить эту проблему, где у меня есть две таблицы: 1) планирование - sku, склад, target_week, snapshot_week, projected_value. 2) actual_shipment - sku, inventory, target_week, shipped_quantity.

Краткое описание: target_week - это дата, когда запланированная отгрузка должна быть доставлена, а snapshot_week - это дата создания графика планирования, а projected_value - отгрузка значение, запланированное на эту target_week для данной комбинации sku x склад. shipped_quantity - это фактическая стоимость доставки, которая была доставлена. Target_week и snapshot_week - это воскресная дата недели

Итак, моя постановка проблемы заключается в том, что я должен сравнить фактическое и прогнозируемое значение для каждого sku, складскую комбинацию для указанного c target_week и показать прогнозируемое значение, которое было запланировано на эту target_week, вернувшись на 4 недели a go, 8 недель a go, 12 недель a go et c с использованием переменной snapshot_week.

Я сделал левое соединение между двумя взяв actual_shipment в качестве базовой таблицы.

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 - склад - target_week - shipped_quantity - projected_Quant_4weeksa go - projected_Quant_8weeksa go ...... так далее

, но моя проблема в этом запросе, я не могу получить прогнозируемые значения за все недели (и показаны как NULL), что I go отстает от target_week по отношению к snapshot_week, даже если значения присутствуют в таблице планирования.

Кто-нибудь может угодить ему lp где я делаю не так? Я пытаюсь устранить его через 3 дня.

Спасибо !!

...