更新一个表中具有不同值的多个行

时间:2015-07-01 10:22:05

标签: sql sql-server

我有以下3个表格。第一个表有大约100行。如何通过一个更新语句更新第一个表中的CompanyId以及第3个表中的相应值?

T1
-----------------------------
FileId | CompanyId
-----------------------------
ABC      | NULL  
DEF      | NULL

T2
-----------------------------
FileId  | UserId
-----------------------------
ABC       | 123  
DEF       | 456

T3
-----------------------------
UserId  | CompanyId
-----------------------------
123       | V1  
456       | V2

1 个答案:

答案 0 :(得分:3)

使用此声明:

UPDATE T1
SET COMPAYID = T3.CompanyId
FROM T1 INNER JOIN T2 ON T1.FILEID = T2.FILEID
        INNER JOIN T3 ON T2.USERID = T3.USERID