参考同一张表上的另一个字段更新表中的一个字段Oracle

ErrorNotFoundException

我需要参考同一表上的另一个字段entity_id,使用顺序值(例如001、002、002)更新varchar2字段。我需要它,例如,如果我在两个不同的行上具有相同的entity_id,则顺序值应相同。

输出示例:

Entity_id      Seq_field
1234           001
1234           001
4567           002
4567           002
3412           003

我尝试使用rownum,但是它为每个entity_id提供了不同的值,当然这些值没有尾随零。请帮忙。

a_horse_with_no_name
merge into the_table
using
(
  select rowid as rid,
         entity_id, 
         to_char(dense_rank() over (order by entity_id), 'FM00000') as seq
  from foo
) t on (the_table.rowid = t.rid)
when matched 
  then update set seq_field = t.seq;

如果要为每个序列开始一个新序列,则entity_id需要稍微更改一下语句:

merge into foo
using
(
  select rowid as rid,
         entity_id, 
         to_char(row_number() over (partition by entity_id order by null), 'FM00000') as seq
  from foo
) t on (foo.rowid = t.rid)
when matched 
  then update set seq_field = t.seq;

请注意,我使用row_number()代替,dense_rank()partition by entity_id使用的每个新值重新开始编号entity_id如果您还有另一列可以确定一个entity_id的“顺序”,则可以将nullin替换order by null为该列,例如order by created_at

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PXDatabase.Update从同一表/行中的另一个字段更新一个字段值

如何在同一表的另一个字段上填充一个字段的值

根据另一个字段更新一个字段

从另一个表的另一个字段中选择表中的字段

同一个表的所有记录由一个字段关联但由另一个字段查询 - sqlserver

一个字段的大小写条件取决于另一个表中的另一个字段

Django从另一个表的另一个字段中减去一个字段并保存结果

Phalcon ORM字段与同一表中的另一个字段相关

选择与同一表中的另一个字段对应的每个不同字段

在另一个表中计算表的一个字段

根据该表上的另一个字段注释相关表中的字段

在一个字段中输入数据并自动更新另一个字段

如何在反应中根据另一个字段更新一个字段?

使用另一个表中另一个字段的值更新表中的字段

我应该在一个字段中指向同一张表上的另一条记录吗?还是最好有一个单独的表并重复数据?

从同一记录中的另一个字段有条件地更新一个字段

如何在访问中将表中的一个字段设置为等于表中的另一个字段

如何将一个表中的两个字段关联到另一个表中的一个字段

连接表,对一个字段中的所有字段求和,按日期和另一个字段分隔

将SQL表ID转换为PHP中的另一个字段

需要一个字段或另一个字段

一个字段基于另一个字段的求和

从另一个字段上的表单更新表单上的字段(Lotus Notes)

使用字段值更新同一文档中的另一个字段

在oracle中的一个选择上使用一个字段中的两个表

一个字段的Oracle SQL计数由另一个字段分组

Mongodb 更新文档中的一个字段,然后根据前一个字段的值更新另一个

mysql:截断一个字段并聚合另一个表中的数据

MySql 为另一个表中的每个 id 获取一个字段的总和