83 Stimmen

Wie zu tun, wählen Sie aus, wo x gleich mehrere Werte ist?

Ich bin dabei, einen Code zu debuggen und bin auf folgende SQL-Abfrage gestoßen (vereinfachte Version):

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

Ich erhalte sehr seltsame Ergebnisse von der Abfrage und ich denke, dass es daran liegt, dass das erste OR die AND-Operatoren negiert, die vor ihm gefunden werden.

Dies führt dazu, dass Sie Ergebnisse für alle Anzeigentypen erhalten und nicht nur für den Typ 13.

Jedes Mal, wenn die Abfrage aufgerufen wird, kann es eine unterschiedliche Anzahl von Bezirkseinheiten geben, die nachgeschlagen werden müssen.

Ich wäre für jede Hilfe dankbar, die mir hilft, den richtigen Weg zu finden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X