我有2个表a(emp_id,fs),aa(emp_id,fs) 这两天表有一个相同的字段 emp_id,但记录不一定相同,a表的记录多.
我想做的是,用aa表的fs更新a表的fs字段. 我的语法是:update a set a.fs=(select aa.fs from aa from a.emp_id=aa.emp_id)
这个语法可以执行,但有问题:a表的fs字段原来有记录,我只想把a表中和aa表中有相同记录的字段替换掉,但上面的语法把aa 表中没有的记录替换成null值了.
举例:
a表
emp_id,fs
js001 3
js002 8
js003 11aa表
emp_id,fs
js001 8执行之后a表变成了
emp_id fs
js001 8
js002
js003 a表中的js002和js003记录中的fs 替换成了null值.大家知道怎么解决吗.
我想做的是,用aa表的fs更新a表的fs字段. 我的语法是:update a set a.fs=(select aa.fs from aa from a.emp_id=aa.emp_id)
这个语法可以执行,但有问题:a表的fs字段原来有记录,我只想把a表中和aa表中有相同记录的字段替换掉,但上面的语法把aa 表中没有的记录替换成null值了.
举例:
a表
emp_id,fs
js001 3
js002 8
js003 11aa表
emp_id,fs
js001 8执行之后a表变成了
emp_id fs
js001 8
js002
js003 a表中的js002和js003记录中的fs 替换成了null值.大家知道怎么解决吗.
set fs=(select aa.fs from aa,a where aa.emp_id=a.emp_id)
where ids=(select emp_id from aa)
update a
set fs=(select aa.fs from aa,a where aa.emp_id=a.emp_id)
where emp_id=(select emp_id from aa)