from:https://www.cnblogs.com/zerocc/archive/2011/11/01/2231841.html
update 表名 SET 更新字段 FROM 更新表名(多个)WHERE 更新条件
作用:如果想要用一个表的字段也更新另一张表时,可以用。
例子:
表L
lid lname
101 北京
102 太原
101 NULL
102 NULL
表M:
matid lty lid
10011 1 101
20012 1 102
10011 1 102
10011 1 102
现在来为M表增加一列
ALTER TABLE M ADD MNAME VARCHAR(20)
现在M表的结构为:
matid lty lid mname
10011 1 101 NULL
20012 1 102 NULL
10011 1 102 NULL
10011 1 102 NULL
如果我们想要用L中的LNAME来更新M中的MNAME,那么便可以使用:
UPDATE m SET m.mname=l.name FROM m ,l WHERE l.lid=m.lid;
那么结果就会如下:
matid lty lid mname
10011 1 101 北京
20012 1 102 太原
10011 1 102 太原
10011 1 102 太原
UPDATE
dbo.Table2
SET
dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB
FROM
dbo.Table2
INNER
JOIN
dbo.Table1
ON
(dbo.Table2.ColA = dbo.Table1.ColA);
GO
SELECT
ColA, ColB
FROM
dbo.Table2;