[oracle]两表关联的update操作问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[oracle]两表关联的update操作问题相关的知识,希望对你有一定的参考价值。

现在有两个表 a 和 b,要用b表的x字段来更新a表的x字段,条件是a表的y字段=3,并且a表z字段=b表的z字段,两表数据很多,而且(a表z字段=b表的z字段)的个数不是唯一的.

高手请来帮一下忙啊,写出这段sql语句,谢谢了

(a.z = b.z)的个数不唯一,那你要取哪个?
给你个取最大的:
update a set a.x =
(select max(b.x) from b where a.z = b.z )
where y=3
;
两表数据多,只能通过在两表z字段建索引来加快速度。
参考技术A update a, b set a.x = b.x where a.y=3 and a.z = b.z

ORACLE中如果两个字段如果能关联的语句怎么写

通过两张表关联,where条件用等值连接就行了,这是最基本的sql关联语句呢,亲,举例:selecta.col1,a.col2,b.col1,b.col2fromtable1a,table2bwherea.colname=b.colname 参考技术A select 语句1
UNION ALL
select 语句2
这样来连接各个查询的结果

以上是关于[oracle]两表关联的update操作问题的主要内容,如果未能解决你的问题,请参考以下文章

两个表之间关联更新字段

金仓数据库KingbaseES 两表关联Update的两种写法与性能

关于oracle 多表关联更新的问题

Oracle 多表update

ORACLE多表关联UPDATE 语句

ORACLE多表关联UPDATE 语句