Einzelnen Beitrag anzeigen

TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#15

Re: Firebird: MINUS bzw. EXCEPT

  Alt 21. Jul 2009, 13:39
Hallo Frederic,

enthält Deine Tabelle tatsächlich nur diese Daten:
Zitat:
PersNR, Name, Boss
1111, Meier, 2345
2456, Schmidt, 2345
3456, Müller, 5555
3457, Maus, 5555

select persnr from assistenten a where not exists (select persnr from assistenten s WHERE s.persnr >a.boss) findet nun für die beiden letzten Datensätze keinen Datensatz, bei dem die Persnr > der bossnr (5555) ist. Also gibt es ein Ergebnis.
Dieses entspräche in dieser Abfrage zufällig dem richtigen Ergebnis.

Fügst Du jetzt aber folgenden Datensatz an, gibt es eine leere Erbebnismenge:
Zitat:
5556, Kerber, 5555
Fügst Du
Zitat:
1112, Wolf, 2346
ein, liefert Dein Statement ein falsches Ergebnis. Der Datensatz soll nach Deinen Erläuterungen ausgegeben werden, wird es aber nicht, da es eine PersNr gibt, die > 2346 ist (aber dieser ist kein Boss < 2346 zugeordnet).

Hilft Dir das weiter?
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat