2012-04-12 8 views
2

겹치는 날짜로 쿼리를 작성하려고합니다. 이 '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 

이 데이터처럼 내 tabel 모양은 계획 활동을위한 것입니다. 시간이 겹치면 활동을 계획 할 수 없습니다. 이 경우 모든 시간이 겹칩니다. 그러나 그는 이전에 계획했던 것과 비교합니다. ID 1을 계획 했으므로 ID 2를 계획 할 수는 없지만 ID 3을 계획 할 수 있습니다.

어떻게 중첩되는 항목을 선택하려면 php로 질의를 작성할 수 있습니까? 당신은 키워드 사이의 MYSSQL로 확인하실 수 있습니다 당신에게

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

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

대단히 감사합니다.

관련 문제