dnZz
2023-12-06, 16:15:04
Hallo, ich sehe wohl gerade den Wald vor lauter Bäumen nicht. Eigentlich eine simple SQL Abfrage, die aber ein falsches Ergebnis liefert.
Ich frage in einer Tabelle die Anzahl von Geräten ab, die eine bestimmte MAC Adresse haben. Abfrage sieht so aus:
$queryx5rv3 = 'SELECT COUNT(*) FROM einwahl WHERE Anlage LIKE "%X5R%" AND (mac LIKE "%00-1A-E8-C6%" OR mac LIKE "%00-1A-E8-C7%" OR mac LIKE "%00-1A-E8-C8%" OR mac LIKE "%00-1A-E8-C9%" OR mac LIKE "%00-1A-E8-CA%" OR mac LIKE "%00-1A-E8-CB%")';
Die Abfrage liefert auch die korrekte Anzahl zurück.
Nun Frage ich alle anderen Gerät ab, also die die eine andere MAC Adresse haben (im 4. Feld der MAC steht kein C6 bis CB).
$queryx5r = 'SELECT COUNT(*) FROM einwahl WHERE Anlage LIKE "%X5R%" AND (mac NOT LIKE "00-1A-E8-C6%" OR mac NOT LIKE "00-1A-E8-C7%" OR mac NOT LIKE "00-1A-E8-C8%" OR mac NOT LIKE "00-1A-E8-C9%" OR mac NOT LIKE "00-1A-E8-CA%" OR mac NOT LIKE "00-1A-E8-CB%")';
Liefert mir ein flasches Ergebnis, ich erhalte die Anzahl aller Datensätze die im Feld "Anlage" "X5R" stehen haben.
Wo ist bei der 2. Abfrage der Fehler?
Ich frage in einer Tabelle die Anzahl von Geräten ab, die eine bestimmte MAC Adresse haben. Abfrage sieht so aus:
$queryx5rv3 = 'SELECT COUNT(*) FROM einwahl WHERE Anlage LIKE "%X5R%" AND (mac LIKE "%00-1A-E8-C6%" OR mac LIKE "%00-1A-E8-C7%" OR mac LIKE "%00-1A-E8-C8%" OR mac LIKE "%00-1A-E8-C9%" OR mac LIKE "%00-1A-E8-CA%" OR mac LIKE "%00-1A-E8-CB%")';
Die Abfrage liefert auch die korrekte Anzahl zurück.
Nun Frage ich alle anderen Gerät ab, also die die eine andere MAC Adresse haben (im 4. Feld der MAC steht kein C6 bis CB).
$queryx5r = 'SELECT COUNT(*) FROM einwahl WHERE Anlage LIKE "%X5R%" AND (mac NOT LIKE "00-1A-E8-C6%" OR mac NOT LIKE "00-1A-E8-C7%" OR mac NOT LIKE "00-1A-E8-C8%" OR mac NOT LIKE "00-1A-E8-C9%" OR mac NOT LIKE "00-1A-E8-CA%" OR mac NOT LIKE "00-1A-E8-CB%")';
Liefert mir ein flasches Ergebnis, ich erhalte die Anzahl aller Datensätze die im Feld "Anlage" "X5R" stehen haben.
Wo ist bei der 2. Abfrage der Fehler?