更新表时遇到了困难……
现在有 A B 两表
A:RYBH(人员编号) ZHZZRQ(账户终止日期)
XXXX XXXX
B:RYBH(人员编号) ZHSR(账户收入) ZHZZRQ(账户终止日期)
XXXX XXX XXXX
简单解释一下,就是A表中和B表中都有人员编号字段。
我需要通过人员编号字段关联AB两表,把B表中的‘账户终止日期’更新到A表中,
但B表中是记录着账户一段时间的信息记录,所以同一个RYBH在B表中有多条记录。
我在使用update A set A.ZHZZRQ=(select B.ZHZZRQ from B where B.RYBH=A.RYBH)时,会提示返回值多于一条。
如何进行更新?
另外,如果A表中的RYBH 存在不止一条,也就是说 如果存在重复记录,该如何进行更新啊……跪求大神帮助……
------解决方案--------------------
SQL code
update A
set A.ZHZZRQ = (select B.ZHZZRQ
from B
where B.RYBH = A.RYBH
and rownum = 1) --加rownum=1,保证不会返回超过一条记录,前提是b表多记录时,zhzzrq一样
where exists (select 1 from B WHERE B.RYBH = A.RYBH); --加where条件防止a表的rybh在B表没有而被更新