MySql重叠日期无法正确完成

时间:2012-04-12 15:09:54

标签: php mysql

我正在尝试使用重叠日期进行查询。 我的表格看起来像这个'

Agenda ID   DateStart               DateEnd
-------------------------------------------------------
1           2012-04-02 08:00:00     2012-04-02 11:30:00
2           2012-04-02 10:00:00     2012-04-02 13:00:00
3           2012-04-02 12:00:00     2012-04-02 15:00:00

此数据用于规划活动。如果时间重叠,则无法计划活动。 在这种情况下,所有时间都重叠。但他把它与你之前计划的那个相提并论。 假设我计划了ID 1,所以我无法计划ID 2,但我可以计划ID 3。

如何使用php编写查询以选择重叠的项目。 非常感谢你

SELECT
   agenda.DateStart,
   agenda.DateEnd,
   agenda.AgendaID
FROM
   AGENDA
WHERE
   ????
   AND
   ????

2 个答案:

答案 0 :(得分:5)

select a.DateStart, a.DateEnd, a.AgendaId, b.DateStart, b.DateEnd, b.AgendaId
from agenda a, agenda b
where 
a.AgendaId <> b.AgendaId
and b.DateStart>= a.DateStart and
b.DateStart<= a.DateEnd

答案 1 :(得分:0)

$query_Orders = "SELECT * FROM AGENDA WHERE fldTime between  DateStart  and DateENd ";

您可以使用 MYSQL BETWEEN关键字进行检查。