У меня довольно сложная проблема, которую я даже не уверен, что это можно сделать только с помощью presto / sql;поэтому я буду признателен за любой ввод.
Настройка.У меня есть таблица заказов ... (table1)
order_id | customer_id | order_date | blahblahblah....
--------------------------------------------------
11111 | 5432567 | 2018-12-16 | ..........
10002 | 6543212 | 2019-01-21 | ..........
22222 | 3456788 | 2018-11-09 | ..........
У меня есть другая таблица (table2),
customer_id | customer_rating | as_of_date |
--------------------------------------------
5432567 | A- | 2019-02-04 |
6543212 | B+ | 2019-02-04 |
, которая обновляется ежедневно, и я должен вызвать ее с указанием as_of_date
, как то так
selct * from table2
where customer_id="6543212"
and as_of_date='2019-02-04' -- or whatever date
Теперь проблема.Я хочу создать таблицу, в которой для каждого order_id
в table1
выбирается customer_rating
для этого customer_id
, ДО order_date
в table1
(например, когда as_of_date
= order_date - 1
),и ПОСЛЕ даты заказа (скажем, as_of_date =
сегодня).
Чтобы сделать это немного яснее, это моя попытка создать макет таблицы
customer_id | order_id | order_date | customer_rating_before | customer_rating_today
------------------------------------------------------------------------------------
5432567 | 11111 | 2018-12-16 | A+ | A-
6543212 | 10002 | 2019-01-21 | B+ | B+
3456788 | 22222 | 2018-11-09 | C | B
Есть идеи ?!