Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql:从前一天更新的两个表中获取相对补充_Mysql_Timestamp_Subquery - Fatal编程技术网

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

Mysql:从前一天更新的两个表中获取相对补充,mysql,timestamp,subquery,Mysql,Timestamp,Subquery,我有两个表,我称之为A和B,它们都有相似的数据,但在不同的字段中。我试图从表中获取数据,但表B中不存在数据,但有一个条件。有一个timestamp字段指示人们何时更新此数据,我必须在昨天更新数据。我知道如何使用子查询获得相对补码,但如果我使用子查询,我不能设置条件来过滤时间戳。在给出时间条件的同时,有没有办法得到相对补码 这是数据库A数据库B ID | timestamp | ID | timestamp | ------

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

这是数据库A数据库B

 ID  |   timestamp              |    ID  |   timestamp              |
 --------------------------------    --------------------------------
 1   |   2017-01-01 00:00:00    |    1   |   2017-01-01 00:00:00    |
 2   |   2017-01-04 00:00:00    |    8   |   2017-01-04 00:00:00    |
 3   |   2017-01-11 00:00:00    |    9   |   2017-01-11 00:00:00    | 
 4   |   2017-01-14 00:00:00    |    4   |   2017-01-14 00:00:00    |
 5   |   2017-01-07 00:00:00    |    5   |   2017-01-07 00:00:00    | 
这是我试过的问题

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)  

如果您的时间戳字段中有一个值为今天或更大的日期,那么您的查询应该可以正常工作。下面是两个可以使用的不同查询

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);

我想你可能想用date\u sub代替date\u add。例如:date_sub(现在(),间隔1天)。