一个update 语句,大家进来看看。急。
A表
id name
1 aa
2 bb
3 cc
B表
id name
aa
cc
我想写个语句把表b变成
B表
id name
1 aa
3 cc
怎么写?
------解决方案--------------------
update b
set b.id=(select a.id from a where a.name=b.name)
where exits (select 1 from a where a.name=b.name)
说明
1、b表数据可以重复,但b表中任何一条记录只能对应a表中唯一一条纪录。否则会报错。
2、where条件一定要加,如果不加where条件,会把b中有,但A中没有的纪录更新为空