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:
-|||||*|||||------*------
------*--------||||*||||--
------*--|||||||--*------