Mysql:获取前一天更新的两个表的相对补码

时间:2017-03-30 12:44:03

标签: mysql timestamp subquery

我有两个表,我将其称为A和B,两者都有相似的数据,但在不同的领域。我试图从A表中获取数据,它应该在表B中不存在,但有一个条件。有一个时间戳字段表示人们何时更新此数据,我必须在昨天更新数据。我知道如何使用子查询获得相对补充,但是如果我使用子查询,我就不能设置条件来过滤时间戳。在给出时间条件的同时,有没有办法获得相对补充?

这是数据库A数据库B

SELECT a.id FROM a as a
WHERE a.id not in (SELECT b.a_id FROM b as b) AND a.timestamp IS NOT NULL;

这是我试过的查询。

where timestamp >= date_add(now(), interval -1 day)  

这是我想提供的条件

{{1}}

1 个答案:

答案 0 :(得分:0)

您的查询应该可以正常工作,因为您的时间戳字段中实际上有一个日期,其值为今天或更高。以下是您可以使用的两个不同查询。

select a.*
  from your_schema.your_table a
  left join your_schema.your_table_2 b
    on b.id = a.id
 where a.id > 0
   and b.id is null
   and a.checktime >= date_sub(now(), interval 1 day);

select *
  from your_schema.your_table
 where id not in (select id
                    from your_schema.your_table_2)
   and checktime >= date_sub(now(), interval 1 day);