![]() |
Datenbank: ORACLE • Version: 9 • Zugriff über: DATABASE
LEFT JOIN mit Max-Wert aus der anderen Tabelle
Hallo zusammen,
wie kann ich mit einem LEFT JOIN eine Tabelle verknüpfen, von der ich nur den Max-Wert haben will ? So habe ich angefangen:
Delphi-Quellcode:
Wie muss ich das MAX umbauen ?
SELECT SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER FROM SYSDBP.DBP_LEISTUNGSWERTE
LEFT JOIN SYSDBP.DBP_AUFTRAEGE ON SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER = SYSDBP.DBP_AUFTRAEGE.ANLAGENNUMMER AND MAX(SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT) Gruss Holger |
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Hallo,
das habe ich nicht ganz verstanden, was willst Du erreichen? |
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Es fehlt die eigentliche Bedingung
|
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
In der ersten Tabelle sind die Stammdaten,
in der zweiten die Aufträge, jetzt möchte ich die beiden Tabellen so verbinden, das in der dann entstehenden Gesamttabelle nur das Datum des letzten Auftrages angezeigt wird. Das ginge bestimmt mit einem Group by über die Gesamttabelle, aber da mache ich schon einen Count ... Gruss Holger |
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Du willst also die neuesten Aufträge anzeigen? Oder sollen alle Aufträge mit dem neuesten Auftragsdatum gelistet werden (das macht ja IMHO keinen Sinn)?
|
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Da würde ich einen Subquery nehmen
|
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Ich möchte zu dem jeweiligen Stammdatensatz den letzten Auftrag ( neustes Datum ) anzeigen.
Dachte um es einfach zu halten, joine ich nur den jeweils letzten Auftrag. Die anderen Aufträge sind unrelevant. Brauche das aktuelle Datum des letzten Auftrages für den jeweiligen Stammdatensatz. Gruss Holger |
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Ungetestet:
SQL-Code:
SELECT SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER,SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT
FROM SYSDBP.DBP_LEISTUNGSWERTE JOIN SYSDBP.DBP_AUFTRAEGE ON SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER = SYSDBP.DBP_AUFTRAEGE.ANLAGENNUMMER WHERE SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT = (SELECT MAX(SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT) FROM SYSDBP.DBP_AUFTRAEGE) |
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Ich versuche mal meine Abfrage hier abzubilden. Meine damit den relevanten Teil:
Delphi-Quellcode:
Wie bekomme ich hier den nur den MAX Wert von SYSDBP.DBP_AUFTRAEGE.AUFTRAGERLEDIGT
SELECT COUNT(SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER) AS DB_ANZAHL, SYSWVKISU.ANLAGE.ANLAGE
FROM (SYSWVKISU.ANLAGE LEFT JOIN SYSDBP.DBP_LEISTUNGSWERTE ON SYSWVKISU.ANLAGE.ANLAGE = SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER) LEFT JOIN SYSDBP.DBP_AUFTRAEGE ON SYSDBP.DBP_LEISTUNGSWERTE.ANLAGENNUMMER = SYSDBP.DBP_AUFTRAEGE.ANLAGENNUMMER GROUP BY SYSWVKISU.ANLAGE.ANLAGE Gruss Holger |
Re: LEFT JOIN mit Max-Wert aus der anderen Tabelle
Setze mal meine WHERE-Klausel unter Dein GROUP BY.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz