MS Access SQL:使用另一个表中的Sum更新连接查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS Access SQL:使用另一个表中的Sum更新连接查询相关的知识,希望对你有一定的参考价值。

我正在尝试使用另一个名为“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

以上是关于MS Access SQL:使用另一个表中的Sum更新连接查询的主要内容,如果未能解决你的问题,请参考以下文章

MS-Access SQL 将同一表中的值从“Value”更新为“*Value”

MS ACCESS:用另一个表中的数据填充子表单

使用 SQL 从另一个 Access 表更新 MS Access 表

基于另一个查询的 MS Access SQL 更新查询

在 ms Access 数据宏中从另一个表中获取数据

使用 c# 将 MS Access 表数据添加到 SQL Server 表中