用另一列中的值更新列

我有一个这样的表:

create table foo ( a number, b number )

我想使用另一个表中的值更新来自a的所有列

create table bar ( x number, y number )

因此,如果这将是一种程序编程语言,我将:

 foreach foo_item in foo 

foreach bar_item in bar

if( foo_item.b == bar_item.y )

foo_item.a = bar_item.x

end

end

end

我试过了

update foo 

set a = ( select distinct( x ) from bar where bar.y = foo.b )

但它挂起了…。 我不确定如何做这样的事情(甚至不知道谷歌该怎么做)

谢谢

对不起,我不好。它不会挂起,但是会尝试设置va null值,并且我有一个约束(无法删除)

感谢你目前的帮助

回答:

更新foo set b =(从bar选择bar.y = foo.b的distinct(x))

可能由于性能原因而挂起,但应该可以工作。如果没有bar.y等于foo.b,请仔细检查会发生什么。如果将b设置为null是否可以?

以上是 用另一列中的值更新列 的全部内容, 来源链接: utcz.com/qa/415603.html

回到顶部