我正在尝试解决我认为是简单的查询的问题。

我有两个数据库,每个数据库都有一个表。

我想做的是找到DB2.Table中不存在的所有来自DB1.Table的电子邮件。

我正在使用此查询,但是结果不正确,因为我知道DB1.Table包含DB2.Table中不存在的电子邮件(结果始终返回为0)

SELECT DB1.20180320.email FROM DB1.20180320 WHERE DB1.20180319.email NOT IN (SELECT DB2.20180319.email FROM DB2.20180319 WHERE Status = 'active')

对我在这里做错的任何想法吗?我正在每个表中处理约80k行。

谢谢。

最佳答案

看不到您的数据,请尝试类似这样的操作。

SELECT DB1.20180320.email
   FROM DB1.20180320
   left join DB2.20180319 on DB1.20180320.email = DB2.20180319.email
           AND DB2.20180319.Status = 'active'
   WHERE DB2.20180319.email IS null;


这应该显示DB1.20180320中不存在的所有电子邮件。

关于mysql - 选择另一个数据库表中不存在的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49392610/

10-11 08:02