mam tabelkę z terminami:
object_id|date|status
przykładowe dane w tabeli:
1|20080801|0
1|20080802|0
1|20080803|1
1|20080804|1
1|20080805|1
1|20080806|0
status = 1 - termin zajęty,
gdy status = 0 - termin wolny
oraz tabele z obiektami(pokojami):
id|name|.....
jest jeszcze tabela z cenami:
object_id|season|price
i chce wyszukać wolne obiekty dla jakiegoś przedziału czasowego np. od 20080801 do 20080831,
poniżej podam zapytanie które pobiera pokoje ale nawet wtedy gdy jeden z wybranych dni jest zajęty.
SELECT DISTINCT o.*, (SELECT MIN(price) FROM obiekty_ceny WHERE object_id=o.id AND price > 0) AS price FROM obiekty AS o, obiekty_terminy AS d WHERE o.active='1' AND (d.`date` BETWEEN '$date_in' AND '$date_out') AND d.`object_id`=o.`id` AND d.`status`='0' ORDER BY o.id DESC
Proszę o pomoc bo już nie mam pomysłów...