Om ditt bokningsformulär ber om $start- och $slutdatum/-tider för bokningen, kommer denna fråga att berätta vilka bärbara datorer som är tillgängliga under den period som anges av dessa två datum:
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)
De två första between
klausuler hittar alla bärbara datorer vars start-/slutdatum inte faller inom de begärda start-/slutdatumen - t.ex. de är reserverade, men är tillgängliga inom det angivna tidsintervallet. Nollkontrollen hittar alla bärbara datorer som inte är reserverade alls. Och types.id-kontrollen begränsar sökningen till endast bärbara datorer.