【问题标题】:Oracle set value in column when associated value is found in another table当在另一个表中找到关联值时,Oracle 在列中设置值
【发布时间】:2020-09-08 20:16:06
【问题描述】:

我有两张桌子 - 推荐和破产。

推荐

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

破产

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

如果两个表中的参考编号都匹配,我想用“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"

【问题讨论】:

    标签: sql oracle sql-update subquery


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多