Einzelnen Beitrag anzeigen

Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#1

WHERE-Klausel mit mehreren ODER-Bedingungen

  Alt 25. Jun 2012, 06:58
Datenbank: Sybase • Version: 12.5 • Zugriff über: ASE iSQL
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?
Status:
- FIAE
- Rechteinhaberin, ein Rüsselmops sein zu wollen
  Mit Zitat antworten Zitat