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