Vinzenz Mai: SQL select mehrere OR mehrere AND kapier ich nicht

Beitrag lesen

Hallo,

Wenn in a bis d ein beliebiger Wert stehen darf - wieso willst du sie dann überhaupt in die WHERE-Klausel mit aufnehmen?

Nicht darf, sondern es MUSS ein beliebiger Wert drinstehen.

trifft auf die leere Zeichenkette auch zu - im Gegensatz zu NULL.
Natürlich musst Du - wie in nahezu allen Programmiersprachen auch - jeden Vergleich explizit aufführen. Sag' bloß, das wäre in Perl nicht so ...

Und wenn etwas in jeder dieser Spalten stehen muss, dann ist dies eine UND-Verknüpfung, keine ODER-Verknüpfung. Perl macht das übrigens auch so, das ist normale Aussagenlogik.

Du kannst natürlich das ganze umdrehen:

Wenn Spalte a leer ist oder Spalte b leer ist oder Spalte c leer ist oder Spalte d leer ist, dann ist das nicht gültig.

... aber wozu?

Wenn Spalte a nicht leer ist und Spalte b nicht leer ist und Spalte c nicht leer ist und Spalte d nicht leer ist und Spalte e einen bestimmten Wert hat und Spalte f einen bestimmten Wert hat, dann möchtest Du diesen Datensatz haben.

Wie's mit NULL und Leerstring aussieht, das sollte Dir Deine Aufgabenstellung sagen.

Freundliche Grüße

Vinzenz