mam tabelę produktów z polami:
- id
- nazwa
- promocja (bool)
- cena_promocyjna (float)
- cena (float)
robię wyszukiwarkę (wyszukuje również po cenie) i chcę aby w przypadku produktów gdzie prmocja = 1 porównywał do cena_promocyjna, natomiast gdy promocja = 0 - cena.
próbowałem sklecić coś takiego
SELECT * FROM `produkty` WHERE (`promocja` = 1 AND `cena_promocyjna` = ?) OR (`promocja` = 0 AND `cena` = ?)
ale nie działa tak jak bym chciał :/
może lepiej zaznaczać te, które spełniają kryteria w obu przypadkach i resztę robić w kodzie? Model produktu ma metodę Produkt::getPrice() która wykrywa czy jest promocja i zwraca właściwe pole.
ktoś ma może jakiś pomysł/sugestię?
Z góry dzięki!