Попытка найти изменения в заказе клиента на основе взаимодействия.
Заказы:
Customer_ID Start_dt End_dt Order_item
1 01/01/2020 14/01/2020 Apples
1 15/01/2020 01/02/2020 Bananas
1 02/02/2020 07/02/2020 Oranges
1 08/02/2020 Null Grapes
Взаимодействия:
Customer_ID Interaction_Dt
1 02/02/2020
желаемый результат:
Customer_id Interaction_Dt Order_Pre Order_Post
1 02/02/2020 Bananas Oranges
Я пытался использовать функцию CASE, но она только собирает Order_Post и дает мне ноль для Order_Pre
select interactions.customer_id, interactions.interaction_dt,
case when interactions.interaction_dt - orders.end_dt = 1 then orders.Order_item else 0 end as Order_pre,
case when orders.start_dt - interactions.interaction_dt = 1 then orders.order_item else 0 end as order_post
from interactions
left join orders
on interactions.customer_id = orders.customer_id
Довольно плохо знаком с SQL, поэтому любая помощь будет принята с благодарностью.
Цель этого состоит в том, чтобы после взаимодействия клиента с нашим бизнесом увидеть, на что он изменил свой заказ. В реальных таблицах больше клиентов и взаимодействий, поэтому я пытаюсь создать сводку по всем датам взаимодействия клиентов, с которых они изменили свой заказ. Изменить: обновлены имена таблиц, чтобы сделать его более понятным, извините за путаницу