2017-02-16 76 views
0

我試圖從另一個名爲「OrderDetails」的表中的「Quantity」字段更新此示例中名爲「Products」的表的「Price」字段。 t作爲一個臨時表來存儲我的OrderDetails的查詢結果,然後INNER JOIN兩個表(p和t),我仍然收到錯誤,我驗證了查詢片(SELECT ...... GROUP BY ProductID)的工作原理就這麼拋出錯誤的更新。任何想法?MS Access SQL:更新加入查詢與另一個表中的總和

UPDATE p 
    SET Price = t.sumQuan 
    FROM Products AS p 
    INNER JOIN 
    (
     SELECT ProductID, SUM(Quantity) sumQuan 
     FROM OrderDetails 
     GROUP BY ProductID 
    ) t 
    ON t.ProductID = p.ProductID; 
+0

什麼是錯誤信息? – xQbert

+2

[Access DB使用另一個值更新一個表的值可能重複](http://stackoverflow.com/questions/787186/access-db-update-one-table-with-value-from-another) – xQbert

+0

@xQbert我收到的錯誤是UPDATE語句中的語法錯誤,我無法弄清楚。我在Stackoverflow上閱讀了幾個主題,但我仍然不知道自己在哪裏做錯了。如果有人能幫助我一些指針會很好。 – NinjaWarrior

回答

1

也許只是一個語法變化,其訪問VS其他RDBMS?

UPDATE products 
INNER JOIN (SELECT ProductID, SUM(Quantity) sumQuan 
      FROM OrderDetails 
      GROUP BY ProductID 
      ) t 
    ON t.ProductID = p.ProductID; 
SET Price = t.sumQuan