Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi LEFT JOIN mit Max-Wert aus der anderen Tabelle (https://www.delphipraxis.net/96816-left-join-mit-max-wert-aus-der-anderen-tabelle.html)

HolgerCW 31. Jul 2007 10:29

Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
 
Das habe ich nun gemacht.

Nur dann verschwinden alle Datensätze.

Wenn ich nun eine Erweiterung einbaue:

Delphi-Quellcode:
WHERE SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT = (SELECT MAX(SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT) FROM SYSDBP.DBP_AUFTRAEGE)
OR SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT IS NULL)
Dann sind alle Datensätze da, nur die wo Aufträge vorhanden sind, die fehlen

Was ist falsch ?

Gruss

Holger

DeddyH 31. Jul 2007 10:32

Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
 
Hallo,

lies Dir dies mal durch.

HolgerCW 31. Jul 2007 10:36

Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
 
Noch ein Anmerkung von mir, bevor ich weiter lese:

unter meinen Group by kann ich kein Where packen. Nur darüber ?

Gruss

Holger

DeddyH 31. Jul 2007 10:38

Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
 
Stimmt, mein Fehler.

HolgerCW 31. Jul 2007 10:48

Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
 
Hi,

aber wenn ich Deine WHERE - Bedingung herraus nehme, habe ich das was ich will. Nur werde ich nun Probleme bekommen, wenn mehr als ein Auftrag in der Tabelle Auftraege pro Stammdatensatz vorhanden ist.

Da muss noch ein Fehler in der WHERE - Bedingung sein ???

Gruss

Holger

DeddyH 31. Jul 2007 10:52

Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
 
Ich hoffe, ich habe Dich jetzt verstanden. Was Du suchst, müsste dies hier sein.

HolgerCW 31. Jul 2007 11:07

Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
 
Hätte ja nicht gedacht, das das so kompliziert ist, aber so klappt es nun:

Delphi-Quellcode:
...
LEFT JOIN SYSDBP.DBP_AUFTRAEGE
ON SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER = SYSDBP.DBP_AUFTRAEGE.ANLAGENNUMMER
AND SYSDBP.DBP_LEISTUNGSWERTE.ANZAHL = SYSDBP.DBP_AUFTRAEGE.DB_REGISTER
AND SYSDBP.DBP_AUFTRAEGE.SIGMA_AUFTYP_ID = '50'
AND SYSDBP.DBP_AUFTRAEGE.STATUS = 'abgeschlossen'

WHERE

(SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT = (SELECT MAX(SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT)
FROM SYSDBP.DBP_AUFTRAEGE
WHERE SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER = SYSDBP.DBP_AUFTRAEGE.ANLAGENNUMMER
AND SYSDBP.DBP_LEISTUNGSWERTE.ANZAHL = SYSDBP.DBP_AUFTRAEGE.DB_REGISTER
AND SYSDBP.DBP_AUFTRAEGE.SIGMA_AUFTYP_ID = '50'
AND SYSDBP.DBP_AUFTRAEGE.STATUS = 'abgeschlossen')
OR SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT IS NULL)
Gruss und vielen vielen dank

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz