sql中如何把A表某列update成B表某列数据??

如题所述

update A bmt1 set bmt1.c = (select B.c from B ,A where B.a = A.a and B.a = bmt1.a);

update A bmt1 set bmt1.c = (select B.c from B ,A where B.a = A.a);如如果直接这样的话,如果子查询查出来是只有一个值的结果集的话,那么更新的A.C的行全部都是同一个值,如果子查询有多个值的话,会提示出错,返回多个行;只有在后面在加个跟外面的表的判断条件,才能实现一个一个更新。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-13
首先用alter命令对表的结构进行修改。
1、添加一列
alter table tablename add newfile definition;
2、改变表的数据类型
alter table tablename change columname newdefinition;
3、给表添加索引
alter table tablename add index columname newdefinition;
4、给表添加唯一列
alter table tablename add unique columname ...
5、从表中删除一列
alter table tablename drop columname;
然后查询a表中该列数据,用insert到b表该列。
第2个回答  2008-09-12
假设:
表A,字段有:rid,name
表B,字段有:rid,source

把表B的rid与表A的rid相同的行的字段source换成表A的name字段值
update 表B set source=b.name from 表B a inner join 表A b on a.rid=b.rid
第3个回答  2019-03-15
update A bmt1 set bmt1.c = (select B.c from B where B.a = A.a and B.a = bmt1.a)
相似回答