3个日期范围之间的Mysql查询

use*_*752 3 php mysql sql

我有一个允许用户生成报告的PHP脚本,他们可以选择3个日期范围.即

2012-01-01 to 2012-01-31
AND 
2011-01-01 to 2011-01-31
AND 
2010-01-01 to 2010-01-31
Run Code Online (Sandbox Code Playgroud)

但是当我执行查询,并且某个日期范围之间没有记录时,查询不返回任何值.

这是我的查询:

 SELECT DealerName WHERE InterviewDate >= "2012/01/01 " AND InterviewDate <= " 2012/03/31"
 AND InterviewDate >= "2012/07/01 " AND InterviewDate <= " 2012/09/31"
Run Code Online (Sandbox Code Playgroud)

我需要一个查询,如果在1个日期范围内找到它,将返回数据,无论后续日期范围中是否没有数据.

数据汇总到一个表中,在该表中,相同的数据可能在多个日期.

例如:

dealerName 1    2012-01-01
dealerName 1    2012-02-31
dealerName 2    2012-03-01
dealerName 1    2012-06-01
dealerName 1    2012-06-31
Run Code Online (Sandbox Code Playgroud)

因此,如果我想查询2012-01-01和2012-02-31和2012-06-01和2012-06-31之间的数据.我意识到1个日期范围可以包含所有这些范围,但用户可能希望在这两个日期范围之间排除数据.

han*_*ank 10

面试日期不能介于x和y之间,且仍介于z和zz之间.你错过了OR- 另外,看看BETWEEN运营商

SELECT DealerName
FROM table
WHERE InterviewDate BETWEEN '2012-01-01' AND '2012-01-31'
    OR InterviewDate BETWEEN '2011-01-01' AND '2011-01-31'
    OR InterviewDate BETWEEN '2010-01-01' AND '2010-01-31'
Run Code Online (Sandbox Code Playgroud)

编辑,对不起,错过了表名:)