SQL FILTERING
Pieter Havelink
12/07/2011 12:20:28Hallo iedereen,
Ik heb de volgende SQL query:
SELECT * FROM items_compare WHERE price > 1400 && (ABS(price - avg_price)/avg_price) <= 0.1
Hier gebeurt het volgende:
Ik haal artikelen op uit de database en filter ze dan op prijs hoger dan 1400.
De volgende SQL query heb ik gekregen van iemand van het forum hier:
(ABS(price - avg_price)/avg_price) <= 0.1
Het probleem bij deze query is dat alle artikelen worden meegenomen die een afwijking hebben van 10% ongeacht of het gemiddelde bedrag hoger of lager is. Ik wil eigenlijk alleen filteren wanneer de artikel prijs lager is dan de gemiddelde prijs. Wanneer de gemiddelde prijs hoger is dan hoeft deze niet gefilterd te worden.
Ik kom er niet echt uit, heeft iemand hier misschien een oplossing voor?
Alvast bedankt voor jullie hulp!
Ik heb de volgende SQL query:
SELECT * FROM items_compare WHERE price > 1400 && (ABS(price - avg_price)/avg_price) <= 0.1
Hier gebeurt het volgende:
Ik haal artikelen op uit de database en filter ze dan op prijs hoger dan 1400.
De volgende SQL query heb ik gekregen van iemand van het forum hier:
(ABS(price - avg_price)/avg_price) <= 0.1
Het probleem bij deze query is dat alle artikelen worden meegenomen die een afwijking hebben van 10% ongeacht of het gemiddelde bedrag hoger of lager is. Ik wil eigenlijk alleen filteren wanneer de artikel prijs lager is dan de gemiddelde prijs. Wanneer de gemiddelde prijs hoger is dan hoeft deze niet gefilterd te worden.
Ik kom er niet echt uit, heeft iemand hier misschien een oplossing voor?
Alvast bedankt voor jullie hulp!
Gewijzigd op 12/07/2011 12:23:04 door Pieter Havelink
PHP hulp
24/11/2024 05:38:21- SanThe -
12/07/2011 13:11:14In SQL geen && maar AND gebruiken.
Als ik je goed begrijp misschien zoiets:
... WHERE price > 1400 AND ((ABS(price - avg_price)/avg_price) <= 0.1 OR avg_price > price)
Als ik je goed begrijp misschien zoiets:
... WHERE price > 1400 AND ((ABS(price - avg_price)/avg_price) <= 0.1 OR avg_price > price)