所以我',調試一些代碼,並有以下的SQL查詢(從它真正的簡化)。如何做從x等於多個值的地方選擇?
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.每次查詢被調用時,可能會有許多縣需要查找,或者只有幾個縣。
任何幫助正確的方式去這個將不勝感激。
我認爲IN版本更易於閱讀並且不太可能返回意外結果。 – DOK 2008-11-04 12:52:47