有A、B两个表。其中A、B表的sno列是相同的。现在就是想把A表中的class列值修改为B表中对应的class列值。
如:
表A
sno class
1 aa
2 bb
3 cc表B
sno class
2 dd
3 ff
1 ee结果:
sno class
1 ee
2 dd
3 ff不是用select哦,要用update直接修改A表。
如:
表A
sno class
1 aa
2 bb
3 cc表B
sno class
2 dd
3 ff
1 ee结果:
sno class
1 ee
2 dd
3 ff不是用select哦,要用update直接修改A表。
set a.class=b.class
from a,b
where a.sno=b.sno
create table a (sno int,class varchar(10))
insert into a
select 1,'aa' union all
select 2,'bb' union all
select 3,'cc'
gocreate table b(sno int,class varchar(10))
insert into b
select 2,'dd' union all
select 3,'ff' union all
select 1,'ee'
goupdate a set a.class=b.class from b where a.sno=b.snoselect * from a
sno class
----------- ----------
1 ee
2 dd
3 ff(所影响的行数为 3 行)
set class = b.class
from a, b
where a.sno = b.sno