ОБНОВЛЕНИЕ с использованием сумм + существующее значение в JOIN в MySQL? - PullRequest
1 голос
/ 03 февраля 2012

Я пытаюсь обновить итоги продаж в одной таблице, используя существующее значение плюс сумму значений из другой таблицы. Вот упрощенная версия запроса, который я использую:

UPDATE sales_summary 
INNER JOIN sales ON sales_summary.StoreID = sales.StoreID 
SET sales_summary.total = (sales_summary.total + SUM(sales.amount)) 
WHERE PurchaseDate BETWEEN '2011-01-01' AND '2011-01-31' 
GROUP BY sales_summary.StoreID

Можно ли не использовать агрегатные функции в ОБНОВЛЕНИИ?

1 Ответ

1 голос
/ 03 февраля 2012
UPDATE sales_summary
INNER JOIN
    (SELECT StoreID, SUM(amount) as amount
     FROM sales
     GROUP BY StoreID) as sales
ON sales_summary.StoreID = sales.StoreID
SET sales_summary.total = sales_summary.total + sales.amount
WHERE PurchaseDate BETWEEN '2011-01-01' AND '2011-01-31'
...