我有两个表,我将其称为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}}
答案 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);