【发布时间】:2010-11-22 19:26:47
【问题描述】:
我有一张这样的桌子:
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 空值并且我有一个约束(我无法删除)
感谢到目前为止的帮助
【问题讨论】:
-
@GApple,不,foo.b和bar.y的重复值很多
标签: sql oracle join sql-update