Sql 选择不同的值并插入到返回重复项的表中

Sql 选择不同的值并插入到返回重复项的表中,sql,insert,oracle11g,oracle-sqldeveloper,duplicate-removal,Sql,Insert,Oracle11g,Oracle Sqldeveloper,Duplicate Removal,我有表Data\u Excel,其中包含人员的详细信息:p\u姓名、p\u地址、p\u城市,还有表person,其中包含ID、startdate、enddate,我必须在人员位置中插入以下值ID、address、city、country、startdate、enddate,问题是我想在person_location中插入值,该位置的主键为ID,StartDate,我尝试了以下查询,但结果如下: SELECT Distinct A.ID,A.name,A.startdate,A.enddate,d

我有表
Data\u Excel
,其中包含人员的详细信息:
p\u姓名、p\u地址、p\u城市
,还有表
person
,其中包含
ID、startdate、enddate
,我必须在
人员位置
中插入以下值
ID、address、city、country、startdate、enddate
,问题是我想在person_location中插入值,该位置的主键为
ID,StartDate
,我尝试了以下查询,但结果如下:

SELECT Distinct A.ID,A.name,A.startdate,A.enddate,de.source,de.P_address,de.P_city,de.P_country 
    from data_excel de, person A 
    where A.name = de.P_name 
    and ID > 6566;
结果:

 `7552  Adan George H.  30/12/1928  31/12/1928  Recueil Financier 1928  Avenue des Trois Couleurs 17    Woluwe-Saint-Pierre (Bruxelles) 
  7552  Adan George H.  30/12/1928  31/12/1928  Recueil Financier 1928  Avenue des Trois Couleurs 17    Woluwe-Saint-Pierre (Bruxelles) Belgie 

您好“user408437”此查询用于获取表上的重复行

with cte as
(
    select *,rn= ROW_NUMBER() over (partition by id order by id) from tablename 
)
select * from cte where rn>1
如果您的Replace>sign from=则他从每个重复行中获得一行


我希望对您的

数据做点小工作\u excel有多个输入的人名和地址,Id来自人名表,我必须从person表中获取id,将名称与数据\u excel进行比较,获取位置详细信息,并最终在person\u location表中插入id和位置。要使用哪一行进行插入,以及如何进行描述。最早的一个,最近的一个?我在查询的末尾附加了这个部分?