我有一个需求,其中有两个表A和B。有一个名为ID的列,它是A的主键和B表的外键,其中表之间有一对多的关系。在用于ID列的表A中,我们有条目1、2、3,并且对于它们,我们具有对应于一个ID的多个条目,以及表B中名为SEQ的另一列,其中已经为其中的条目创建了序列。现在,对于ID 1的条目,我在表B中有3个条目,序列号为1,2,3,但是当新的ID条目出现时,我需要再次从该ID的1开始排序。**您能帮助我做到这一点吗?
表A

发布于 2020-07-13 18:14:47
我建议您不要存储SEQ值。你为什么要这么做?无论何时需要,它都很容易计算。多么?如下所示,使用row_number解析函数:
SQL> with b (id, name) as
2 (select 1, 'TRI' from dual union all
3 select 1, 'TRI' from dual union all
4 select 1, 'TRI' from dual union all
5 select 2, 'ROHIT' from dual union all
6 select 2, 'ROHIT' from dual union all
7 select 3, 'RAVI' from dual
8 )
9 select id,
10 name,
11 row_number() over (partition by id order by null) seq
12 from b;
ID NAME SEQ
---------- ----- ----------
1 TRI 1
1 TRI 2
1 TRI 3
2 ROHIT 1
2 ROHIT 2
3 RAVI 1
6 rows selected.
SQL>如果你还想存储它,现在你知道怎么做了。
https://stackoverflow.com/questions/62873638
复制相似问题