mal mit, mal ohne KLAMMER -> unterschiedliches Ergebniss, mysql
Sakzmann
- datenbank
0 Tim2 Tabellenkalk0 Steel
Also ich habe ein Abfrage die bis jetzt immer funktioniert hat, doch jetzt bin ich auf einen Fehler gestoßen. Und zwar gibt mir folgende Abfrage
SELECT * FROM table1 WHERE human='w' AND bones=1 OR bones=2 OR bones=3
zuviel Treffer aus
wenn, ich die OR Abfrage in Klammer setzte stimmt es!
SELECT * FROM table1 WHERE human='w' AND (bones=1 OR bones=2 OR bones=3)
ist das möglich?
Hallo,
Und zwar gibt mir folgende Abfrage
SELECT * FROM table1 WHERE human='w' AND bones=1 OR bones=2 OR bones=3
zuviel Treffer aus
wenn, ich die OR Abfrage in Klammer setzte stimmt es!
SELECT * FROM table1 WHERE human='w' AND (bones=1 OR bones=2 OR bones=3)
ist das möglich?
Ja das ist möglich, denn ein "AND" bindet stärker als ein "OR".
d.h. deine erste Abfrage mach eigentlich das:
SELECT * FROM table1 WHERE (human='w' AND bones=1) OR bones=2 OR bones=3
--> alle Datensätze mit 'bones'=2/3 werden unabhängig von 'human' angezeigt.
Viele Grüße,
Tim
Hallo?
Also ich habe ein Abfrage die bis jetzt immer funktioniert hat, doch jetzt bin ich auf einen Fehler gestoßen. Und zwar gibt mir folgende Abfrage
SELECT * FROM table1 WHERE human='w' AND bones=1 OR bones=2 OR bones=3
zuviel Treffer aus
wenn, ich die OR Abfrage in Klammer setzte stimmt es!
SELECT * FROM table1 WHERE human='w' AND (bones=1 OR bones=2 OR bones=3)
ist das möglich?
So wie Kommata Leben retten können, können Klammern Abfrageergebnisse beeinflussen...
Gruß
Kalk
Moin!
So wie Kommata Leben retten können,
Korrekt. Nicht nur Kommas:
morgen morgen gips gips gips gips morgen morgen morgen