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

我试图使用来自同一个表和另一个表的记录更新一个表,但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 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类型是什么,它是主键吗?