我有一张表,其中包含多年来已被许多不同用户修改的培训历史。这导致相同的训练记录被输入两次。我想创建一个复制主表并插入所有重复记录的表。
如果employee_id、course_code 和completion_date 全部匹配,则构成重复记录。
我可以创建重复表,并且我有一个似乎可以提取重复项的 select 语句,但它只提取其中一个,我需要它来提取它们中的两个(或更多)。这是因为一个人可能使用不同的课程名称输入了培训记录,但 id、代码和日期相同,因此它是重复条目。因此,通过提取所有重复项,我可以验证情况是否如此。
这是我的 SELECT 语句:
SELECT *
FROM
training_table p1
JOIN
training_table p2 ON (
p1.employee_id = p2.employee_id
AND p1.course_code = p2.course_code
AND p1.completion.date = p2.completion_date)
GROUP BY p1.ssn;
查询运行并返回看似唯一的行。我想要所有的副本。每当我尝试将其插入到相同的表中时,我都会收到一条错误消息,指出我的列数与我的值数不匹配。
任何帮助都会很棒。