DB2每次插入的增量值

i2byvkas  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(159)

我有2个表。我希望将数据从table 2插入到table 1中,方法是每次从table 2插入到table 1中时(逐行)增加一个值(id)。
表格1
| 标识符|姓名|
| - -|- -|
| 三百四十八|麦克|
| 三百四十九|若翰|
表格2
| 姓名|
| - -|
| 康尼|
| 佛瑞德|
| 债券|
| 佛瑞德|
对于每次插入,应确保查询table 1的下一个较高值(最大值)并插入插入。并且只应插入table 2中的唯一值,不应插入重复值。
谢谢你

eblbsuwk

eblbsuwk1#

您可以执行:

insert into table1 (id, name)
select
  row_number() over(order by name) + (select max(id) from table1),
  name
from (
  select distinct name as name
  from table2 x
  where not exists (
    select name from table1 y where y.name = x.name
  )
) x;

结果:

ID   NAME  
 ---- ----- 
 348  Mike  
 349  John  
 350  Bond  
 351  Conny 
 352  Fred

请参阅db<>fiddle上的运行示例。

相关问题