Database oracle仅更新第一次
我有一张有两列的表Database oracle仅更新第一次,database,oracle,Database,Oracle,我有一张有两列的表 rule_id , passenger_type 与 我正在尝试更新乘客信息,CNN在哪里 乘客输入(“C02”、“C03”、“C04”) 但每个规则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 )
rule_id , passenger_type
与
我正在尝试更新乘客信息,CNN在哪里
乘客输入(“C02”、“C03”、“C04”)
但每个规则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)
我正在使用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 |
+--------------------------+
如果表中没有适当的序列,“首次出现”的概念有点模糊,但这会为每个规则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)
我只需要在乘客输入('C02'、'C03'、'C04')的情况下更新第一个事件。我更新了我的问题并添加了exmaple