2012-04-12 61 views
2

我想用重疊日期進行查詢。 我TABEL這個樣子的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 
    ???? 

回答

3
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 
+0

感謝它的工作,我現在可以選擇它們。 – user1329444 2012-04-12 16:57:07

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

你可以用BETWEEN關鍵字MYSSQL檢查。