当在另一个 table 中找到关联值时,Oracle 在列中设置值

Oracle set value in column when associated value is found in another table

我有两个表 - 推荐表和破产表。

推荐人

Referralno | bk_filed
----------------------
123        |
456        |
789        |

破产

Referralno 
----------
875
123
789

如果 referralno 号码在两个表中都匹配,我想用“Y”填充 bk_filed 列。结果看起来像这样。

Referralno | bk_filed
----------------------
123        | Y
456        |
789        | Y

我尝试了以下合并语句,但无法正常工作。

merge into LCTS.referrals r
using LCTS.bankruptcy b
on (r.referralno = b.referralno )
when matched then update
set r.bk_filed = "Y"

您可以将其编写为 update 语句,使用 exists 和相关子查询进行过滤:

update referrals r
set bk_filed = 'Y'
where exists (select 1 from bankruptancy b wehre b.referralno = r.referralno)