我正在尝试比较两个不同的表并在第三个表中保存不匹配的记录。假设我们有一个表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列进行比较。谢谢你的回复。
答案 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
运算符