使用JOIN在SQL中进行UPDATE

Kar*_*arl 1 sql join sql-update

我正在使用SQL Server 2008,并尝试在管理工作室中运行以下查询:

        UPDATE
        Table1 as T1 INNER JOIN Table2 as T2 ON T1.ID=T2.ID
        SET T1.SomeValue = T2.SomeValue

        GO
Run Code Online (Sandbox Code Playgroud)

虽然不起作用.是否支持这种事情?

卡尔

[编辑]让我更清楚,我不想做类似的事情:

        UPDATE
        Table1 as T1 INNER JOIN Table2 as T2 ON T1.ID=T2.ID
        SET T1.SomeValue = T2.SomeValue
        T1.SomeValue2 = T2.SomeValue2
        T1.SomeValue3 = T2.SomeValue3
        T1.SomeValue4 = T2.SomeValue4

        GO
Run Code Online (Sandbox Code Playgroud)

即无需显式执行T1.SomeValue = SELECT ...,T2.SomeValue = SELECT ...

rsl*_*ite 7

如果你重写它类似于它应该工作:

UPDATE Table1 
SET Table1.SomeValue = T2.SomeValue
FROM Table2 AS T2 
WHERE Table1.ID = T2.ID
Run Code Online (Sandbox Code Playgroud)