0

我得到这个 MySQL 数据库的数据馈送。它会改变,但没有迹象表明从源头发生了什么变化。一种方法是创建一个 OLD 表和一个 NEW 表。在将数据馈送填充到 NEW 表之后,然后对 OLD 表进行比较,并且 OLD 表中不存在的任何原因都被视为新记录或更改的记录。顺便说一句,数据馈送中没有记录 ID,所以我不能将其用作参考。

在 MySQL 中,如何在特定字段上比较 OLD 表和 NEW 表以获取新的或更改的列表?谢谢!

附加信息更新:数据馈送是一个邮件列表,但没有为来自源的记录分配 ID。因此,必须比较每条记录中的某些字段才能找到匹配项,但会显示那些不匹配的字段。这样做的目的是生成一份营销报告,说明要添加哪些新客户,或者他们的信息是否已更改。

此任务的重点是确定数据馈送中的哪些记录是新的或自上次馈送以来已更改。饲料每晚进行一次。没有需要更新的数据库,我们只需要报告自上次提要以来的新增/更改内容。关键字段是 Company_Name。

所以我需要知道如何进行 MySQL 查询来搜索旧表(这是昨天的数据馈送)并将其与新表进行比较。如果新表中不存在 Company_name,则这意味着该客户已从邮件列表中删除。如果 Company_name 存在于新表中,但不存在于旧表中,则表明这是添加到邮件列表中的新客户。

这个 MySQL 可以用来定位新记录吗?

SELECT * FROM old
WHERE old.company_name
NOT IN (
SELECT new.company_name
FROM new
WHERE old.company_name=new.company_name
);
4

0 回答 0