Предположим, у меня есть 2 таблицы:
Table_1 has |Product_ID|Max_Date
Table_2 has |Invoice_ID|Product_ID|Sale_Date|Amount_Sold
В Table_2 хранятся все продажи продуктов.
Я хочу объединить таблицы таким образом, чтобы получить SUM(Amount_Sold) из Table_2, сгруппированных по Product_ID, но только с учетом продаж, которые произошли до Max_Date для каждого продукта из Table_1.
Я старался
SELECT * FROM
(SELECT * FROM Table_1)a
LEFT JOIN
(SELECT Product_ID,Sale_Date,SUM(Amount_Sold) FROM Table_2 GROUP BY Product_ID)b
ON a.Product_ID=b.Product_ID AND b.Sale_Date<a.Max_Date
но он не вернул правильные суммы.
Я думаю, что ответ может быть примерно таким, но я не смог его понять... mysql: Как ВНУТРЕННЕЕ СОЕДИНИТЬ таблицу, но ограничить соединение одним результатом с наибольшим количеством голосов или количеством голосов?
Есть идеи? Заранее спасибо.