我在试着看是否每次输入同一条记录时都能给一个名字分配一个id。例如,如果我给john doe分配了一个id e001,我希望每次看到john的记录时都能给john分配相同的值。如果一个新的人出现在图片中,我想从我创建的列表(表id)中选择下一个id并将其分配给那个人,依此类推。我愿意接受关于如何使用sql(最好)或etl方法的建议、想法或更好的方法。谢谢
第1个月的文件(或oracle中的其他表)
Name Addr Location
------------------------------
John Doe 123 Main NA
John Doe 123 Main NA
Bob Lava 456 Tel US
第1个月的oracle表
ID Name Addr Location
-------------------------------------
E001 John Doe 123 Main NA
E001 John Doe 123 Main NA
E002 Bob Lava 456 Tel US
第2个月文件(或oracle表)
Name Addr Location
-------------------------------
Denny Fry 456 str AB
John Doe 123 Main NA
John Doe 123 Main NA
Bob Lava 456 Tel US
第2个月的oracle表(只需将第2个月的文件附加到现有数据,但对现有记录使用以前分配的id,对新记录使用新id)
ID Name Add Location
------------------------------------
E001 John Doe 123 Main NA
E001 John Doe 123 Main NA
E002 Bob Lava 456 Tel US
E003 Denny Fry 456 str AB
E001 John Doe 123 Main NA
E001 John Doe 123 Main NA
E002 Bob Lava 456 Tel US
id表列表(用于为记录分配id)
E001
E002
E003
E004
B001
1条答案
按热度按时间8xiog9wr1#
我可以建议一个sql解决方案
union all
然后你可以用dense_rank()
如下所示输出: