У меня возникла дилемма при сравнении моих таблиц.
Моя проблема в том, что я хочу получить каждую сумму, которая зависит от цены.Вот таблица.
Основной стол
main_id main_price main_date_created
25 8.5 2019-08-16
26 11.5 2019-08-01
Итого таблица
id main_id total_price date_generated
1 25 10 2019-08-16
2 25 10 2019-08-17
3 25 10 2019-08-18
4 25 10 2019-08-19
5 25 10 2019-08-20
6 25 10 2019-08-21
7 26 20 2019-08-01
8 26 5 2019-08-02
9 26 5 2019-08-03
10 26 10 2019-08-04
Таблица истории цен
id main_id changed_main_price price_date_changed
1 25 15 2019-08-18
2 26 20 2019-08-03
Не знаюесли есть способ сделать это, просто используя MySQL, то, чего я пытаюсь добиться, это то, что Total table
будет суммой к МЕСЯЦУ и ГОДУ и будет умножаться на их назначенную цену, которая зависит от даты, если ценаизменилось или нет.СУММА будет с каждого месяца генерироваться путем умножения на main price
в Main table
, но если цена изменилась по сравнению с первоначальной ценой на Price history table
Выход должен бытьэто если условное условие возможно:
id main_id total_price price_generated (which is the prices) date
1 25 170 (10+10*8.5) 8.5
2 25 610 (10+10+10+10*15) 15
3 26 287.5 (20+5*11.5) 11.5
4 26 300 (5+10*20) 20
Вот мой существующий запрос,
SELECT m.main_id
, m.main_price
, SUM(t.total_price) total_generated
, t.date_generated
FROM main m
INNER JOIN total t
ON m.main_id = t.main_id
GROUP
BY MONTH(t.date_generated);
Я знаю, что моего запроса недостаточно, и я все еще не знаю, соответствует ли моя идеядействительно возможно: (.