Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 根据MS Access 2010中表2中的值更新表1中的值_Sql_Ms Access_Sql Update - Fatal编程技术网

Sql 根据MS Access 2010中表2中的值更新表1中的值

Sql 根据MS Access 2010中表2中的值更新表1中的值,sql,ms-access,sql-update,Sql,Ms Access,Sql Update,我有两张桌子。第一个是LOA报告,第二个是ACCT。 我需要做的是将LOA中的一个值更新为ACCT中的一个值。我需要将LOA中一个单独列中的用户给定输入与ACCT中的一个字段进行比较,以确定从中提取数据的正确记录。以下是我到目前为止的情况。任何帮助都将不胜感激。我已经在这方面工作太久了,我不善于承认当我在我的头。我将其用作追加查询。但我想做的是更新,而不是追加。更新语法是我遇到问题的地方 INSERT INTO [LOA Report] (ID) SELECT Acct.AcctID FROM

我有两张桌子。第一个是LOA报告,第二个是ACCT。 我需要做的是将LOA中的一个值更新为ACCT中的一个值。我需要将LOA中一个单独列中的用户给定输入与ACCT中的一个字段进行比较,以确定从中提取数据的正确记录。以下是我到目前为止的情况。任何帮助都将不胜感激。我已经在这方面工作太久了,我不善于承认当我在我的头。我将其用作追加查询。但我想做的是更新,而不是追加。更新语法是我遇到问题的地方

INSERT INTO [LOA Report] (ID)
SELECT Acct.AcctID
FROM Acct INNER JOIN [LOA report] ON Acct.EmpID = [LOA Report].[Emp ID]
WHERE ((([Acct]![EmpID])=[LOA report]![Emp ID]));

你试过使用更新加入吗

update res 
set
res.[colname]=acct.[colname]
from [LOAreport] res JOIN acct ON Acct.EmpID = res.[EmpID] and res.colname=acct.colname

在Access中,更新查询将如下所示:

UPDATE [LOA Report]
INNER JOIN Acct ON Acct.EmpID = [LOA Report].[Emp ID]
SET [LOA Report].ID = Acct.AcctID
WHERE ((([Acct]![EmpID])=[LOA report]![Emp ID]));

MS Access使用
更新。。。内部联接
语法。必须指定一个特定的
JOIN
。您应该始终运行操作查询,首先作为“选择”查询,以确保它们筛选正确的表字段,然后将其更改为更新、追加、删除等。感谢您的提示。工作得非常好。非常感谢。