這裏是我的MySQL查詢而忽略類別字段條件,結果也返回從其他類別未在查詢結果可看出,這裏是我的MySQL查詢語句的MySQL返回PHP的搜索查詢錯誤的結果
select *,classifieds.id as id
from classifieds,classifieds_meta
where
category=1
AND meta_key='vehicle_make'
and meta_value=2
OR meta_key='vehicle_make'
and meta_value=3
AND (meta_key='vehicle_mileage' and meta_value=9)
OR (meta_key='vehicle_mileage' and meta_value=10)
OR (meta_key='vehicle_mileage' and meta_value=11)
AND classifieds.id=classifieds_meta.classifieds_id
GROUP BY classifieds.id
上面的sql語句返回類別1和6的結果而不是1,有人可以幫忙嗎?
您正在選擇將從兩個表中選擇全部的'*'。如果你只想要所有分類,你應該使用分類。*' – James
你正在混合'和'和'或'子句,這將明確導致不正確的結果,除非你知道你在做什麼,並理解mysql的運算符優先級規則:http://dev.mysql.com/doc/refman/5.0/en/operator-precedence.html –
或者只是將此行'category = 1'更改爲'category = 1 AND category!= 6'。 – JakeGould