当前位置: 代码迷 >> Oracle管理 >> oracle 多表更新,该怎么处理
  详细解决方案

oracle 多表更新,该怎么处理

热度:43   发布时间:2016-04-24 04:18:21.0
oracle 多表更新
表a 
id           name  age
s001     tom      25
s001      jar       26

表b
id          age2
s001


两张表有这样的数据表A中的数据有些会有脏数据,但是我要把 表b中的 age2更新成 25或26都无所谓 a.id=b.id 通过id关联
 update     b set b.age2=(select    age  from a  where a.id=b.id)执行这样的 
提示 :单行子查询返回多个行,要咋解决呢

------解决方案--------------------
引用:
表a 
id           name  age
s001     tom      25
s001      jar       26

表b
id          age2
s001


两张表有这样的数据表A中的数据有些会有脏数据,但是我要把 表b中的 age2更新成 25或26都无所谓 a.id=b.id 通过id关联
 update     b set b.age2=(select    age  from a  where a.id=b.id)执行这样的 
提示 :单行子查询返回多个行,要咋解决呢

如果随便返回一个数据都行的话,用个max或者min返回单个数就行了

update     b set b.age2=(select    max(age)  from a  where a.id=b.id)
  相关解决方案