Sql 访问:从同一个表和辅助表上的关节更新表
我试图使用来自同一个表和另一个表的记录更新一个表,但MS ACCESS说我的SQL是错误的。我不明白错误在哪里,对我来说似乎没问题:Sql 访问:从同一个表和辅助表上的关节更新表,sql,database,ms-access,Sql,Database,Ms Access,我试图使用来自同一个表和另一个表的记录更新一个表,但MS ACCESS说我的SQL是错误的。我不明白错误在哪里,对我来说似乎没问题: UPDATE Clients AS T1 INNER JOIN (SELECT DISTINCT Clients.ID_Client AS FED, Clients.Name, SecondTable.Client_Name, SecondTable.ABI_Code AS ABI FROM SecondTable INNER JOIN Clie
UPDATE Clients AS T1
INNER JOIN
(SELECT DISTINCT
Clients.ID_Client AS FED,
Clients.Name,
SecondTable.Client_Name,
SecondTable.ABI_Code AS ABI
FROM SecondTable INNER JOIN Clients ON SecondTable.FieldToUpdate=Clients.Name) AS T2
SET T1.FieldToUpdate = T2.FED
WHERE T1.ABI_Code =T2.ABI
更新查询中显示语法错误,光标位于SET指令上-尝试以下查询:
UPDATE T1
SET T1.FieldToUpdate = T2.FED
FROM
Clients AS T1
INNER JOIN
(SELECT DISTINCT
Clients.ID_Client AS FED,
Clients.Name,
SecondTable.Client_Name,
SecondTable.ABI_Code AS ABI
FROM SecondTable INNER JOIN Clients ON SecondTable.FieldToUpdate=Clients.Name) AS T2
ON
T1.ClientID = T2.ClientID
WHERE
T1.ABI_Code =T2.ABI
因为我在T2上使用了ClientID的别名,所以我想应该使用:on T1.ClientID=T2.FED,但是当我现在运行查询时,我有一个错误,该错误被翻译为:对于操作来说,需要一个可以更新的查询@NicolaPrada能否尝试删除where并将其添加到T1.ClientID=T2.FED和T1.ABI_Code=T2.ABI上。@NicolaPrada能否提供接收到的确切错误消息错误3073:操作必须使用可更新查询。。我想这可以解释问题:@NicolaPrada客户端和SecondTable中的FieldToUpdate类型是什么,它是主键吗?