Может кто-нибудь объяснить мне, какой синтаксис соответствует этому SQL-запросу?
SELECT DISTINCT boats.boatid
FROM boats LEFT JOIN reservations ON
reservations.boatid = boats.boatid
and (@paramFromDate <= reservations.to AND reservations.from <= @paramToDate )
WHERE reservations.to IS NULL
таблица:
**boats** boatid
**reservations** reservationid, fk_boatid, from, to
Идея запроса состоит в том, чтобы получить незарезервированные лодки для диапазона дат, отмеченного параметрами. Любая лодка, у которой есть какая-либо часть диапазона, покрытая даже частично, недоступна.
Как там этот код "и ..."? Почему в нем отсутствует ключевое слово WHERE? Похоже, где там неявно?