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;