PDA

Vollständige Version anzeigen : Abfrage negieren


Magnum
02.11.2001, 07:30
Hallo da draußen;
Heute ist mein erster Tag in diesem Forum.
Ich hoffe, daß ich als Neuling auch mal eine dumme Frage stellen darf.
Hier gleich die erste:
Ich habe eine Tabelle mit Rechnungen erstellt. Jede Rechnung besitzt verschiedene Merkmale, die in einer zweiten Tabelle aufgelistet sind. Beide Tabellen habe ich in einer Abfrage über die Rechnungsnummer mitinander verknüpft. Da jede einzelne Rechnung mehrere verschiedene Merkmale besitzen kann, taucht jede Rechnung im Listing der Abfrage mehrmals auf. Mittels "Select DISTINCTROW" zeige ich davon nur jeweils die erste gefundene an. Jetzt kann ich durch Eintrag eines Kriteriums in der Abfrage nach Rechnungen mit einem bestimmten Merkmal (z.B. "bezahlt") suchen.
Möchte ich jedoch alle nicht bezahlten Rechnungen haben, Kriterium <>"bezahlt", werden alle Datensätze aufgelistet, da in jeder Rechnung ja auch ein anderes Merkmal als "bezahlt" auftaucht. Meine Frage nun also: wie kann mann trotzdem alle nicht bezahlten Rechnungen bekommen?
Fürs erste Mal 'ne ziemlich lange Frage. Ich hoffe, mich trotzdem ganz verständlich ausgedrückt zu haben und erbitte mit Neugier Eure Antworten.
Schöne Grüße in die Welt
Magnum

Kurt aus Kienitz
02.11.2001, 08:10
Hallo Magnum (der aus Hawai ?),

Mal angenommen deine Tabellen heißen Rechnung und RechKriterium welche über die Spalte RechNr verknüpft sind.
In der Tabelle RechKriterium gibt es zusätzlich die Spalte Kriterium in der für bezahlte Rechnungen der Wert bezahlt eingetragen ist.

Dann solltest Du mal folgendes SQL-Statement ausprobieren:

SELECT Rechnung.RechNr
FROM Rechnung
WHERE NOT EXISTS(SELECT *
FROM RechKriterium
WHERE RechKriterium.RechNr = Rechnung.RechNr
AND RechKriterium.Kriterium = 'bezahlt');