ich möchte mittels JOIN zwei Tabellen miteinander verknüpfen und mit ORDER BY sortieren.
Leider habe ich dabei ziemliche Geschwindigkeitsprobleme.
Mein Problem entspricht dem Folgenden:
Es gibt eine Anzahl Kunden, die wiederum viele Aufträge vergeben haben.
Jetzt möchte ich eine Liste über die Kunden haben, bei denen der letzte Auftrag ebenfalls aufgeführt wird und die nach dem Datum des jeweils letzten Auftrags sortiert ist.
Meine derzeitige Lösung sieht wie folgt aus (zu langsam):
Code: Alles auswählen
SELECT FAS.FASNr,FAS.FASId,FAS.StartD,FAu.*
FROM Kunden FAu
LEFT OUTER JOIN Auftraege FAS ON FAS.FAuId=FAu.FAuId
WHERE FAS.FASNr IN
( SELECT MAX( FAS3.FASNr ) FASNr // Der letzte Auftrag hat die höchste Nummer
FROM Auftraege FAS3
WHERE FAS3.FAuId=FAu.FAuId
)
ORDER BY FAS.StartD DESC,FAu.KundenName
Weiss jemand eine bessere Lösung?
Uli