Ако вашият формуляр за резервация изисква $начална и $крайна дата/часове за резервацията, тази заявка ще покаже кои лаптопи са налични през периода, определен от тези две дати:
SELECT items.id, items.name
FROM items
LEFT JOIN types ON items.type = types.id
LEFT JOIN reservations ON reservations.item_id = items.id
WHERE (((reservations.endDate NOT between $start AND $end) and
(reservations.startDate NOT between $start AND $end)) or
(reservations.id IS NULL)) and
(types.id = $laptop_type_id)
Първите две between
клаузите ще намерят всички лаптопи, чиито начални/крайни дати не попадат в рамките на исканите начални/крайни дати - напр. те са запазени, но са налични в посочения период от време. Проверката на нула ще намери всички лаптопи, които изобщо не са запазени. А проверката на type.id ограничава търсенето само до лаптопи.