【问题标题】:Update a table through another table in Access通过 Access 中的另一个表更新一个表
【发布时间】:2023-05-27 07:56:01
【问题描述】:

我想根据我存储在 Table2 中的更新信息来更新 Table1。其中 Table1.User = Table2.User,我想将 Table1.account 更新为 Table2.account 的值 我在 Access 中尝试了两种不同的 SQL 查询:

UPDATE Table1
SET Table1.account = Table2.account
FROM Table1
INNER JOIN Table2
ON Table1.User = Table2.User
WHERE Table1.User = Table2.User
;

这个给了我一个语法错误,说它缺少一个运算符

UPDATE Table1
SET account = (SELECT account
FROM Table2
WHERE Table1.User = Table2.User);

而这个给出的说法是“操作必须使用可更新的查询”

我使用 Access 和 SQL 的时间不长,因此非常感谢任何关于我哪里出错的建议或见解。

【问题讨论】:

    标签: sql ms-access join updating


    【解决方案1】:

    MS Access 使用的语法与 SQL Server 略有不同。在您的情况下,您需要编写:

    UPDATE Table1
     INNER JOIN Table2
                 ON Table1.User = Table2.User
    SET Table1.account = Table2.account;
    

    【讨论】: