在A、B两表之间有一个字段可以关联,现在我想用一条UPDATE语句更新A表中的某字段
2013-10-21 15:01
393 查看
create table a
(
a1 int,
a2 char(20)
);
insert into a values(1,'111111111');
insert into a values(2,'222222222');
insert into a values(3,'333333333');
insert into a values(5,'555555555');
create table b
(
b1 int,
b2 char(20)
);
insert into b values(1,'aaaaaaaaa');
insert into b values(2,'bbbbbbbbb');
insert into b values(3,'ccccccccc');
insert into b values(6,'eeeeeeeee');
select * from a;
A1 A2
----- ------------
1 111111111
2 222222222
3 333333333
5 555555555
select * from b;
B1 B2
------ ----------
1 aaaaaaaaa
2 bbbbbbbbb
3 ccccccccc
6 eeeeeeeee
Update b set b2=(select a2 from a where a.a1=b.b1)
where b1 in(select a1 from a,b where a.a1=b.b1)
select * from b;
B1 B2
----- -----------
1 111111111
2 222222222
3 333333333
6 eeeeeeeee
后面的where in条件一定要有,否则在b表中有而在a表没有的记录
将被置为空
(
a1 int,
a2 char(20)
);
insert into a values(1,'111111111');
insert into a values(2,'222222222');
insert into a values(3,'333333333');
insert into a values(5,'555555555');
create table b
(
b1 int,
b2 char(20)
);
insert into b values(1,'aaaaaaaaa');
insert into b values(2,'bbbbbbbbb');
insert into b values(3,'ccccccccc');
insert into b values(6,'eeeeeeeee');
select * from a;
A1 A2
----- ------------
1 111111111
2 222222222
3 333333333
5 555555555
select * from b;
B1 B2
------ ----------
1 aaaaaaaaa
2 bbbbbbbbb
3 ccccccccc
6 eeeeeeeee
Update b set b2=(select a2 from a where a.a1=b.b1)
where b1 in(select a1 from a,b where a.a1=b.b1)
select * from b;
B1 B2
----- -----------
1 111111111
2 222222222
3 333333333
6 eeeeeeeee
后面的where in条件一定要有,否则在b表中有而在a表没有的记录
将被置为空
相关文章推荐
- 测试一条update语句能否把先更新的字段的值累积到第二个字段。
- SQL两表之间:根据一个表的字段更新另一个表的字段
- SQL两表之间:根据一个表的字段更新另一个表的字段
- 一个叫 team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球队,现在四个球队进行比赛,用一条sql 语句显示所有可能的比赛组合.
- SQL两表之间:根据一个表的字段更新另一个表的字段
- 【数据库】SQL两表之间:根据一个表的字段更新另一个表的字段
- mysql update from 关联更新 从一个表字段 到另外一个表字段
- UPDATE语句:将一个表里的字段更新到另一个表的字段里的语句
- ecshop 中用商品属性表字段更新商品表 update 另外一个表的字段
- SQL 语句 通过外联表更新一个字段
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- 一条sql语句(关于将一个表里的数据汇总,更新数据库中的另外一张表的列值
- 用Update Select批量更新某一字段的值[可以跨库]
- 如何在一个update语句中,用一个表的数据更新另一个表的数据
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- oracle联合查询并更新一个表字段的sql语句
- 两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED
- [K/3Cloud] KSQL 关联表更新字段Update语法
- 用UPDATE SET FROM 语句来关联表更新数据
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例