Решение, может кому то поможет
В моем случае названия таблиц отличается от тех что в вопросе.
------
SELECT
master_products.id,master_products.name,master_product_regions.master_product_id AS mpr_id
FROM
master_products
JOIN master_product_categories on master_products.id=master_product_categories.master_product_id
LEFT JOIN master_product_regions ON master_products.id=master_product_regions.master_product_id
WHERE
master_product_categories.category_id=803
AND
(
master_product_regions.id is NULL
OR (master_product_regions.city_id = ".$city." AND master_product_regions.can_be_sold = 1)
OR (master_product_regions.city_id != ".$city." AND master_product_regions.can_not_be_sold=1)
)