products
------------------
pdoruct_id
i
days_2_products
_____________
day_2_product_id
day_2_product_product_id
day_2_product_day
do tabeli days_2_products dodaje dni, w których produkt nie jest dostępny
potem wyszukuje, ktoś wpisuje date od i date do
jesli produkt jest dostepny w dacie od do wtedy ma mi zwrocic ten rekord, wiec rozbijam sobie date od do na wszystkie dni ktore objmuje
i konstruje zapytanie
<?php SELECT * FROM products p left join producent pro on (p.product_producent_id = pro.producent_id) left join days_2_products d_2_p on (d_2_p.day_2_product_product_id = p.product_id) WHERE d_2_p.day_2_product_day <> '2008-08-25' AND d_2_p.day_2_product_day <> '2008-08-26' itd.... GROUP by d_2_p.day_2_product_product_id ?>
Zastanwaiem się czy " d_2_p.day_2_product_day <> '2008-08-25' AND d_2_p.day_2_product_day <> '2008-08-26' itd....
" można jakość uprościć ?
probowalem tak
"NOT d_2_p in ( '2008-08-25', ' '2008-08-25' itd. ... )" jednak to nie zadziala dobrze, wyrzuci z wyniku tylko ta jedna wartosc przed grupowaniem. Może ktoś ma jakiś pomysł ?
dotkowo zauwzylem że mimo left join jesli w tabeli z dniami nie ma zdanych danych zwiazanych z danym produktem to ten produkt nie bedzie wyświtlany AND d_2_p.day_2_product_day <> '2008-08-26'