我有一个名为pools
的表,其中包含id,name和一个名为alerts
的表,其中包含id,poolid,create_date。我想创建一个SQL查询,这将为我带来所有没有alerts
表上记录的日期等于今天的池?
答案 0 :(得分:0)
可以通过多种方式完成,其中一种方式不是EXISTS():
SELECT * FROM pools p
WHERE NOT EXISTS(select 1 from alerts t
where t.poolid = p.id
and t.create_date < NOW())
另一种方式不是:
SELECT * FROM pools p
WHERE id NOT IN(select poolid from alerts t
where t.create_date < NOW())
如果你想通过加入来做到这一点:
SELECT p.*,t.id FROM pools p
LEFT OUTER JOIN alerts t
ON(p.id = t.poolid and t.create_date < NOW())
WHERE t.id is null
答案 1 :(得分:0)
我猜您正在寻找像这样的查询
ember g http-mock users
答案 2 :(得分:-1)
您可以使用左外连接从没有警报的池中获取记录:
select * from pools
left outer join alerts on pools.id = alerts.poolid
where alerts.id is null or alerts.created_date < now()