Tak więc ", debugowanie niektórych kodu i istnieje następujące zapytanie SQL (uproszczone z tego, co naprawdę jest).Jak wybrać, gdzie x jest równe wielu wartościom?
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
Dostaję bardzo dziwne wyniki kwerendy i myślę, że dlatego, że pierwszy lub neguje i „S, które są przed nim. Dostaję więc wyniki z powrotem dla reklam wszystkich typów, a nie tylko typu 13. Za każdym razem, gdy wywoływane jest zapytanie, może być wiele hrabstw, które wymagają wyszukiwania lub tylko kilku.
Każda pomoc w poprawnym wykonaniu tego byłoby mile widziana.
Myślę, że wersja IN jest łatwiejsza do odczytania i rzadziej zwraca nieoczekiwane wyniki. – DOK
jest również *** znacznie *** szybszy, przynajmniej na MySQL – warren
W moim przypadku wartości w 'IN' pochodzą z wyniku innego zapytania, jak sobie z tym poradzić? –