MS Access 2007 - 使用另一个表中的数据更新表中的字段

时间:2017-09-14 18:24:39

标签: sql ms-access

好的 - 我花了2个小时试图解决这个问题。正在搜索StackOverflow,Google,MSDN等。我迷路了。

我在这里找到了MSSQL和其他SQL平台的明显有效答案,但它们不适用于MS Access 2007 SQL。

表1有字段ID和名称,表2有相同的字段。

在表1中,我需要使用表2中的相同字段更新Name字段,在ID字段上加入。

我尝试过无数次更新查询无济于事。

UPDATE table1
SET table1.Name = table2.Name 
WHERE table1.ID=table2.ID

没有用!

UPDATE table1
SET table1.Name = (
SELECT Name From table2 Where Table2.ID=Table1.ID
)

可怕的"必须使用可更新的查询"消息,我无法找到解决方案。

UPDATE table1
SET table1.Name=table2.Name
FROM table1 INNER JOIN table2 ON table1.ID = table2.ID

"语法错误"!

我的大脑被炸了。我发誓我过去曾多次这样做,但无法弄明白。我确信这很简单,有人会快速回答。

1 个答案:

答案 0 :(得分:2)

MS Access与update join的语法略有不同。你可以尝试:

UPDATE table1 INNER JOIN
       table2
       ON table1.ID = table2.ID
    SET table1.Name = table2.Name;