我有两个表,其中有这些列:
用户:用户、班级、年级、地点
类:类,位置
Users表中的class列引用了Classes表中的同一列。
我想更新Users表中的所有行,使Users表中"location"列的每一行都等于类的位置。
所以我有一行值:Mike,数学,A+,纽约
对应的Math在Classes表中的行为:数学,芝加哥
我想让用户表的行变成迈克,数学,A+,芝加哥。
谢谢
update
users
set
users.location = classes.location
from
classes
where
classes.class = users.class
这个怎么样:
UPDATE U
SET U.Location = C.Location
FROM Users AS U
INNER JOIN Classes AS C ON C.Class = U.Class
AND C.Location != U.Location
;
update users a
set a.location =
(select b.location
from classes b
where b.class = a.class)