oracle中,Update加上leift join连接查询更新

工作遇到了两表连接查询的更新,自己写的sql出现了“子查询返回多行的错误”问了公司的人换了个写法
plsql操作oracle
update aml_ds_v4.file_overdue_info up set up.identity_date=(
select il.identity_date from aml_ds_v4.total_customer_detail il where
up.uoc_no=il.uoc and up.total_detail_id=il.id
)
where up.id in (
select oi.id from aml_ds_v4.total_customer_detail td right join aml_ds_v4.file_overdue_info oi on td.uoc_no=oi.uoc_no where
td.identity_date !=ol.identity_date and oi.total_detail_id = td.id and
oi.status=‘0’)
大体的思路就是 先做一个全表更新,用两个表关联的id来更新,更新的时候也通过右连接来限制更新那些数据,uoc为主键,oi.total_detail_id = td.id这两个为关联的id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值