好的 - 我花了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
"语法错误"!
我的大脑被炸了。我发誓我过去曾多次这样做,但无法弄明白。我确信这很简单,有人会快速回答。
答案 0 :(得分:2)
MS Access与update
join
的语法略有不同。你可以尝试:
UPDATE table1 INNER JOIN
table2
ON table1.ID = table2.ID
SET table1.Name = table2.Name;