比较两个mysql表并保存第三个差异

时间:2017-05-24 09:00:02

标签: mysql

我正在尝试比较两个不同的表并在第三个表中保存不匹配的记录。假设我们有一个表t1

1stID, Title, Forename, Surname, Postcode, 
   t1field1, t1field2, t1field3 ....

第二张表t2

2ndID, 2nd_title, 2nd_forename, 2nd_surname, 
   2nd_postcode, 2nd_field1, 2ndfield2 ...

和第三个空表t3,其结构与表t2一样。

两个表中都有数千条记录和许多其他字段。 ID完全不同。唯一的方法是在第一个表中使用forename,surname和postcode进行比较,当它们不为空时。当然结果可能不准确,但现在对我来说还不错。

使用一个MySQL语句将t1表与t2表进行比较并在表{{1 }}?

我可以在PHPMyAdmin中构建mysql语句,也可以直接在控制台中构建。

我搜索了网页,有很多方法可以进行选择,但没有答案如何填充第3表以及如何使用非ID列进行比较。谢谢你的回复。

1 个答案:

答案 0 :(得分:0)

收集table_2中not in的所有记录并插入table_3

insert into table_3 
select * from table_1 where 
forename not  in (select * from table_2)
or surname not in (select * from table_2)
or postcode not  in (select * from table_2)
如果您要过滤所有

OR可以更改为AND运算符