mysql查询在过去日期和当前日期之间查找

mysql查询在过去日期和当前日期之间查找,mysql,Mysql,我有两个表,一个是这样简单的命名订单和到期日 id | name | price | due_id | status 1 a 10 1 0 2 b 20 1 0 3 c 30 1 1 4 d 40 2 0 4 d 40 2 1 还有一张有日期的桌子 id | start_dat

我有两个表,一个是这样简单的命名订单和到期日

id | name | price | due_id | status
1    a      10       1         0
2    b      20       1         0
3    c      30       1         1
4    d      40       2         0
4    d      40       2         1
还有一张有日期的桌子

id | start_date | end_date
1    2011-04-01   2011-05-21
2    2011-07-01   2011-07-15
我试图找到的是过去期间状态为0的所有订单,以及当前期间状态为0和1的所有记录。我知道如何从当前期间获取订单

SELECT *
FROM orders
INNER JOIN due_dates ON orders.due_id = due_dates.due_id
    AND now() BETWEEN due_dates.start_date AND due_dates.end_date
    AND status in (0,1);

看起来您只在问题中粘贴了部分查询。是否缺少某些内容?您的问题是…?添加了完整查询对不起,如果我只发布问题,我认为这将是最好的,而您试图解决的问题是,您希望查询只选择最近过去期间的订单,状态为0?是当前+所有过去期间,状态为0如果我添加第三个表,是否应使用group by?因为它显示了所有的记录我想那是因为statement@user828061我不知道,这取决于你打算做什么。无论如何,如果这有帮助的话,我更新了查询,使其更加严格。
SELECT *
FROM orders
INNER JOIN due_dates ON orders.due_id = due_dates.due_id
WHERE
    (status in (0,1) and now() BETWEEN due_dates.start_date AND due_dates.end_date) OR
    (status = 0 AND  due_dates.end_date < now())