Guten Morgen liebe Liebenden,
folgendes kleines Problemchen stellt sich meiner. Ich soll aus einer Tabelle nur die Datensätze 'rausfiltern, bei den folgende Bedingungen erfüllt sind:
- bei denen der Name, Vorname oder das Geburtstdatum fehlt ODER die ID1-Nummer ODER die ID2-Nummer
(d.h. wenn Name, Vorname und Geb vollständig ist, ist ok, wenn nicht, dann muss die ID1 oder die ID2 vorhanden sein)
ODER
- bei denen der Standort fehlt
ODER
- bei denen die Mitarbeiternummer UND die Kostennummer fehlt
Ich habe das wie folgt versucht, aber bin leider nicht wirklich weit gekommen.
Code:
select *
from ABRECHNUNG
where ((NAME IS NULL or VORNAME IS NULL or GEB_DATUM IS NULL)
or (ID1 IS NULL AND ID2 IS NULL))
or STANDORT IS NULL
or (MITARBEITER IS NULL and KNR IS NULL)
Es ist ausgeschlossen, dass in den Spalten was anders außer NULL drinne steht, da über das Programm, mit denen die Daten eingelesen wird, abgesichert wird, dass bei leeren Daten NULL 'reingeschrieben wird.
Derzeit zeigt er mir z.B. auch alle Datensätze an, bei denen Name, Vorname und Geburtstag vollständig ist, aber halt eine der IDs fehlt, obwohl das nicht gewünscht ist. Aber auch halt andersherum, also die IDs vollständig, aber die anderen Angaben fehlen.
Mein Gedanke war, dass ich ein Subselect mache, frage mich aber, ob das so zielführend ist.
Jemand einen Tipp?