在 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);
相关文章