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

时间:2011-07-09 11:41:56

标签: mysql

我有两个表,一个很简单,比如命名为orders和due_dates

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);

1 个答案:

答案 0 :(得分:0)

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())