Ich habe eine Abfrage, wo Iam versucht, den max (Datum) -Wert von einer anderen Tabelle als Join-Bedingung verwendet werden.make max() -Funktion schneller, wenn als inline Abfrage Join-Bedingung verwendet
SELECT a.col1, a.col2
FROM tablea a,
tableb b
WHERE a.pk_id = b.fk_id
AND a.effdt = (SELECT MAX(effdt)
FROM tablea c
where c.id= a.id
and c.effdt <= sysdate
)
Hier ist ein Index bereits auf dem TableA für effdt Spalte erstellt noch die Abfrage Rückgabewerte lange dauert. jede Hilfe, sie besser zu verbinden, wäre großartig.
Sie haben ein zusätzliches Komma nach 'TableB b' und Sie können nicht 'c. *' auswählen, da der Alias 'c' in der korrelierten Unterabfrage und nicht in der äußeren Abfrage definiert ist. – MT0
änderte die Abfrage – waiting