2012-02-03 50 views
1

我試圖使用現有值加上另一個表中的值的總和來更新一個表中的銷售總計。下面是我使用的查詢的簡化版本:更新在MySQL的JOIN中使用SUMs +現有值?

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 

我能不能在UPDATE使用集合函數?

+0

你得到的錯誤是什麼? – 2012-02-03 14:30:13

回答

1
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' 
+0

修復了這個問題,謝謝! – Uthr 2012-02-03 14:45:46