Итак, я ', отлаживая некоторый код, и есть следующий SQL-запрос (упрощенный от того, что он на самом деле).
SELECT ads.*, location.county
FROM ads
LEFT JOIN location ON location.county = ads.county_id
WHERE ads.published = 1
AND ads.type = 13
AND ads.county_id = 2
OR ads.county_id = 5
OR ads.county_id = 7
OR ads.county_id = 9
Я получаю очень странные результаты из запроса, и я думаю, что это потому, что первый OR отрицает AND, который перед ним. Поэтому я возвращаю результаты для объявлений всех типов, а не только типа 13. Каждый раз, когда вызывается запрос, может быть много графств, которые нуждаются в поиске или только несколько.
Любая помощь по правильному пути решения этой проблемы будет оценена по достоинству.