Today I have had to fix a rather complex query. Turned into plain old SQL it rendered as : SELECT products.* FROM products WHERE EXISTS ( SELECT prices.* FROM prices WHERE prices.country_code IN ['FR', 'DE'] AND prices.customer_price > 0 AND current_date BETWEEN( COALESCE(prices.valid_from, 'yesterday'::DATE) and COALESCE(prices.valid_to, 'tomorrow'::DATE) ) AND prices.product_id = products.id )Th