【问题标题】:MS Access SQL: Update Join Query with Sum from Another TableMS Access SQL:使用来自另一个表的 Sum 更新联接查询
【发布时间】:2017-02-16 22:03:35
【问题描述】:

我正在尝试使用另一个名为“OrderDetails”的表中的“Quantity”字段更新此示例中名为“Products”的表的“Price”字段。我使用 t 作为临时表来存储来自 OrderDetails 的查询结果,然后 INNER JOIN 两个表(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;

【问题讨论】:

  • 错误信息是什么?
  • @xQbert 我收到的错误是 UPDATE 语句中的语法错误,我无法弄清楚。我在 Stackoverflow 上阅读了一些与此相关的主题,但我仍然不知道我在哪里做错了。如果有人可以帮助我一些指针会很棒。

标签: sql ms-access


【解决方案1】:

也许只是 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2013-09-19
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2021-02-03
    相关资源
    最近更新 更多