在 Oracle 中使用 Join 查询进行更新 [英] Update with Join query in Oracle

查看:51
本文介绍了在 Oracle 中使用 Join 查询进行更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

查询有什么问题?(无限期执行)

what is wrong in query? (it executes indefinitely)

UPDATE table1 t1 SET (t1.col,t1.Output) = (
  SELECT t2.col, t3.Output + t2.col
  FROM tabl2 t3 
  LEFT JOIN table1 t2 ON t3.Join_Key = t2.Join_Key
  WHERE t2.col is not NULL);

请帮帮我.

推荐答案

您的查询对于通用 table1、table2 和 join_key 引用没有多大意义.

Your query does not make a whole lot of sense with the generic table1, table2, and join_key references.

如果这不是您要查找的内容,那么拥有一些示例数据以更好地了解您要查找的结果会很有帮助.

If this is not what you are looking for, it would be helpful to have some sample data to get a better idea of what results you are looking for.

update table1 t1
   set t1.col = (select t2.col
                 from table2 t2
                 where  t1.join_key = t2.join_key(+)  
                  and  t1.col is not null),
       t1.output = (select t2.output + t1.col
                    from  table2 t2
                   where  t1.join_key = t2.join_key(+)  
                     and  t1.col is not null);

这篇关于在 Oracle 中使用 Join 查询进行更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆