Archiv verlassen und diese Seite im Standarddesign anzeigen : (Erledigt) - Query mit mehreren Bedingungen
Hallo miteinander,
bin auf der Suche nach einem Query für folgendes.
Spalten
name | addy1 | addy2 | addy3 |
Beispiel
Max | 0 | 1 | 0 |
Lea | 0 | 1 | 1 |
Tom | 1 | 1 | 0 |
Pia | 1 | 1 | 1 |
Kai | 1 | 0 | 1 |
Jetzt möchte ich per Query all die ausgeben, die nicht 1 in den Spalten addy1 bis addy3 stehen haben. Demnach also Max, Lea, Tom und Kai.
Danke vorab!
y0l0sw4gg3r
04.04.2018, 15:13
... WHERE (addy1 = 0) OR (addy2 = 0) OR (addy3 = 0)
meinst du das?
... WHERE (addy1 = 0) OR (addy2 = 0) OR (addy3 = 0)
meinst du das?
Werds probieren. Wenn mich nicht alles täuscht sollte das ja auch klappen:
WHERE addy1 != '1' AND addy2 != '1' AND addy3 != '1'
bzw.
WHERE !(addy1 = 1 AND addy2 = 1 AND addy3 = 1)
ob das "schön" ist, ... lassen wir mal so im Raum stehen ^^
y0l0sw4gg3r
04.04.2018, 18:15
Das erste dürfte nicht funktionieren - zumindest nicht mit den AND. Dieses statement sollte nur datensätze auflisten, die überall 0 haben.
Das zweite ist die exakte negation von meinem statement - das sollte funktionieren.
Für schöneres müsste man vermutlich das schema ändern - aber dann werden die statements auch um mindestens einen join komplexer.
Wenn ich den Startpost korrekt verstanden habe und die Werte nur 0 und 1 annehmen, dann müsste deine erste Anfrage verodert werden (also überall OR anstelle von AND). Unter der selben Bedingung dürfte das zweite Statement stimmen.
Ohne die Bedeutung und die Ausprägungen der Werte zu kennen und die Struktur zu ändern fällt mir spontan auch nichts schöneres ein. Eine Option wäre es natürlich noch addy1, addy2 und addy3 zu addieren um das Resultat dann mit 3 zu vergleichen. Die Performance davon ist eventuell nicht so bombastisch, aber wenn es um Lesbarkeit geht kann es zur der Bedeutung passt, dann wäre das je nach Einsatzzweck vertretbar.
Das erste dürfte nicht funktionieren - zumindest nicht mit den AND. ...
Richtig. ^^
Das von dir funktioniert super. Danke!
Hallo,
ein paar mehr Infos wären gut gewesen aber reines Sql Statment baut sich folgend auf:
SELECT name FROM Tabellenname WHERE addy1 = '0' OR addy2 = '0' OR addy3 = '0'
hoffe ich habe deine Frage richtig verstanden :)
LG
Powered by vBulletin® Version 4.2.2 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.