All pastes #3776 Raw Edit

Anonymous

public sql v1 · immutable
#3776 ·published 2005-01-05 16:14 UTC
rendered paste body
SELECT u_access FROM bookings, users    WHERE b_rid=$room    AND b_date='$theDate'    AND b_uid=u_id    AND b_id IN       (SELECT b_id        FROM bookings        WHERE b_id IN               (SELECT b_id FROM bookings                WHERE '$from' BETWEEN b_time_from AND b_time_till                OR '$till' BETWEEN b_time_from AND b_time_till               )        OR b_id IN               (SELECT b_id FROM bookings                WHERE '$from' BETWEEN b_time_from AND b_time_till                AND '$till' BETWEEN b_time_from AND b_time_till               )       OR b_id IN (SELECT b_id FROM bookings                WHERE b_time_from BETWEEN '$from' AND '$till'                AND b_time_till BETWEEN '$from' AND '$till'               )       )you're basically searching for any booking which has a start before the period you specify ends, and an end AFTER the period you specify begins... thereforeb_time_till > $from AND b_time_from < $till does the same thing as all 3 of your sub-selectsSELECT u_access FROM bookings, users WHERE b_rid=$room AND b_uid=u_id AND (b_time_till > '$from' AND b_time_from < '$till') AND b_id IN (SELECT b_id FROM bookings WHERE b_date='$theDate')