一尘不染

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

sql

我试图用Final中的值更新表Original。我是SQL的新手,但是我已经花了两个小时尝试更改各种样本以满足我的需求。我正在使用Access 2007。

UPDATE 
  Original o
SET 
  o.[Assest Description] = (
    SELECT f.[Assest Description] FROM Original o, Final f 
    WHERE o.[Assest No] = f.[Assest No])
WHERE o.[Assest No] = Final.[Asset No]

阅读 133

收藏
2021-05-05

共1个答案

一尘不染

我不确定您的select陈述仅返回一行。如果要使用select分配语句对表执行更新,则 必须 确保它仅返回一行。

除此之外,您可以考虑下一个解决方案:

update 
   Original as o
   inner join Final as f on o.[Assest No] = f.[Assest No]
set
   o.[Assest Description] = f.[Assest Description]

请注意,只有当两者[Assest no]都是表OriginalFinal表中的唯一键并且它们之间具有适当的关联时,这才可以正常工作。

2021-05-05