我正在尝试使用另一个名为“OrderDetails”的表中的“Quantity”字段来更新名为“Products”的表的“Price”字段。我使用t作为临时表来存储来自OrderDetails的查询结果,然后是INNER加入两个表(p和t)。我仍然收到错误。我验证了查询块(SELECT ...... GROUP BY ProductID)的工作原理。这是抛出错误的UPDATE。有什么想法?
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;
也许只是Access与其他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