3 ms·
If you don't want to maintain several queries, you could write something like SELECT * FROM shoes WHERE (CASE WHEN :brand_id IS NOT NULL THEN brand
by ggregoire 3y ago
If you don't want to maintain several queries, you could write something like
SELECT *
FROM shoes
WHERE (CASE WHEN :brand_id IS NOT NULL THEN brand_id = :brand_id ELSE TRUE END)
AND (CASE WHEN :size IS NOT NULL THEN size = :size ELSE TRUE END)
AND (CASE WHEN :style IS NOT NULL THEN style = :style ELSE TRUE END)
- megaman821 3y agoThat is pretty good. Much more readable than gluing a bunch of strings together.
- pjmlp 3y agoAnd if you want to make it even more readable, those inner expressions can be wrapped into functions.