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