sql >> Database teknologi >  >> RDS >> Mysql

Bestem logik for MySQL Select - Reservationssystem

Jeg er ikke 100 % sikker på dette, men jeg synes, denne forespørgsel burde være ret tæt på:

select *from tblEvents
where (@starttime >= start && @starttime <= end) /*Starts while someone else has it */
or (@endtime >= start && @endtime <= end) /*Ends while someone else has it */
or (@startime <= start && @endtime >= end) /*Starts before & ends after someone else has it*/
and equipID = @equipID
 

Erstat @starttid, @sluttid og @udstyrID med det relevante udstyrs-id og start- og sluttider angivet af brugeren. Hvis denne forespørgsel ikke giver nogen resultater, bør der ikke være nogen tidskonflikter.

Grundlæggende søger det efter disse 3 scenarier, hvor *er dit start- og sluttidspunkt, - er ubrugt tid, og | er det på tide, det bliver brugt af en anden:

-|||||*|||||------*------ ------*--------||||*||||-- ------*--|||||||--*------

  1. Skift og store søgninger i Django, men ignoreret i Mysql

  2. inden for gruppe sorterer i mysql

  3. Push-meddelelse fra enhed til enhed over lokalt netværk UDEN C2DM

  4. Datamodellen for vigtige datoer