Sql server Update INTERNAR Join语句的语法错误

Sql server Update INTERNAR Join语句的语法错误,sql-server,sql-update,inner-join,Sql Server,Sql Update,Inner Join,我正在使用Microsoft SQL Server,在编写此代码时,我在设置行中的“内部”和“=”出现了错误的语法错误。我已经对此进行了调查,认为一切都设置正确,如果可能,有人能指出原因吗 USE [db1] GO UPDATE a.[table1] INNER JOIN a.[table1] = a.[table2] ON a.[table1].[field1] = a.[table2].[field1] SET [field2] = a.[table2].[field2] WHERE

我正在使用Microsoft SQL Server,在编写此代码时,我在设置行中的“内部”和“=”出现了错误的语法错误。我已经对此进行了调查,认为一切都设置正确,如果可能,有人能指出原因吗

USE [db1]

GO

UPDATE a.[table1] 
INNER JOIN a.[table1] = a.[table2]
ON a.[table1].[field1] = a.[table2].[field1]
SET [field2] = a.[table2].[field2]
WHERE [ID] IN (SELECT #TempTable.[ID] FROM #TempTable)

看看它是否能正常工作,我完全不知道你从哪里得到了
更新
加入
的语法,但是它非常混乱。这应该是正确的代码:

UPDATE t1
SET t1.field2 = t2.field2
FROM dbo.table1 t1
INNER JOIN dbo.table2 t2
    ON t1.field1 = t2.field2
WHERE [ID] IN (SELECT [ID] FROM #TempTable);
试着跟随

UPDATE a.[table1] 
SET [field2] = a.[table2].[field2]
From a.[table1]
INNER JOIN a.[table2]
ON a.[table1].[field1] = a.[table2].[field1]
WHERE [ID] IN (SELECT #TempTable.[ID] FROM #TempTable)

使用内部联接更新

UPDATE T1
    SET T1.[field2] = T2.[field2]
    FROM a.[table1] AS T1 
    INNER JOIN a.[table2] AS T2
    ON T1.[field1] = T2.[field1]

我怀疑你找了很久。第一个结果:
UPDATE T1
    SET T1.[field2] = T2.[field2]
    FROM a.[table1] AS T1 
    INNER JOIN a.[table2] AS T2
    ON T1.[field1] = T2.[field1]