今天获取的结果不是更早

时间:2015-01-12 16:52:12

标签: mysql sql

我无法绕过我应该写的查询。

我有两张桌子:股票和文章

文章中的专栏:

  • ID
  • 名称

库存中的列:

  • ID
  • 条款ArticleID
  • tstamp_in(yyyy-mm-dd hh:mm:ss)

对于供应商提供给我的每篇文章,我都会在stock表中创建一个新行。这意味着每个商品在stock表中都可以有多行。我的一所大学问我是否可以提供一个列表,向他展示所有新文章,换句话说,所有库存中tstamp_in值高于午夜的记录。

我来到以下查询,但我真的无法弄清楚如何获得我正在寻找的结果。

SELECT *
FROM stock
LEFT JOIN articles ON stock.articleId=articles.id
WHERE tstamp_in>'2015-01-12 00:00:00' 

这为我提供了在午夜之后创建的库存表中的所有记录。但是,这并不意味着之前没有任何记录。我想弄清楚的是我如何在一个查询中得到这个。

简而言之:

从库存分组中选择所有库存,其中tstamp_in> 2015-01-12 00:00:00并且在2015-01-12 00:00:00之前没有该文章的记录

这可能吗?

1 个答案:

答案 0 :(得分:5)

认为问题有点不同。今天最早 tstamp_in的文章是什么?这会引导您进行汇总并having

select s.articleId
from stock s
group by s.articleId
having min(tstamp_in) > '2015-01-12'