gpt4 book ai didi

database - oracle 只更新第一次出现

转载 作者:搜寻专家 更新时间:2023-10-30 23:02:17 24 4
gpt4 key购买 nike

我有两列的表

rule_id , passenger_type 

PRIMARY KEY (rule_id , passenger_type)

我正在尝试更新 passenger_type='CNN',其中passenger_type in ('C02','C03','C04')

但只有每个 rule_id 的第一次出现

我正在使用 Oracle 数据库

例如:

+--------------------------+
| rule_id passenger_type |
+--------------------------+
| 1 ADT |
| 1 CH2 |
| 2 SWR |
| 3 INF |
| 1 CH3 |
| 2 CH4 |
| 2 CH3 |
| 3 ADT |
+--------------------------+

预期结果:

+--------------------------+
| rule_id passenger_type |
+--------------------------+
| 1 ADT |
| 1 CNN |
| 2 SWR |
| 3 INF |
| 1 CH3 |
| 2 CNN |
| 2 CH3 |
| 3 ADT |
+--------------------------+

最佳答案

如果表格没有正确的顺序,“第一次出现”的想法有点模糊,但这会为每个 rule_id 更新一行

update dg_test d
set passenger_type = 'CNN'
where (d.rule_id, d.passenger_type) in (select x.rule_id, min(x.passenger_type )
from dg_test x
where x.rule_id = d.rule_id
group by x.rule_id)

关于database - oracle 只更新第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30751243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com