【发布时间】:2016-07-27 05:18:58
【问题描述】:
我在 Oracle 11 中有两个表:
表ta_one:
name | active
----------------
john | yes
tina | yes
mike | yes
表ta_two:
name | active
----------------
john | yes
tina | yes
tina | no
mike | no
我想要达到的目标如下: 我想在以下条件下使用第二个表 ta_two 中的“active”列的值更新第一个表 ta_one 中的“active”列:
- ta_one 中“name”列中的名称与 ta_two 中的“name”匹配(例如:mike 和 mike)
- 如果 ta_two 中有多个同名条目,则不应发生更新(例如:tina)
- 如果表 ta_two 中的活动列中没有“否”,则不应发生更新(例如:john)
所以更新后的表 ta_one 应该是这样的:
name | active
----------------
john | yes
tina | yes
mike | no
只有 mike 的条目发生了变化,因为 tina 在第二个表中不止一次,而 johns 的条目在表 ta_two 的活动列中有一个“是”。
提前感谢您的帮助。
【问题讨论】:
-
Oracle 没有 update-join 语法,但 this question 虽然不是完全重复,但可能会给您一些指示。