Hallo an alle,
ich habe einen recht komplizierten SQL, der aber recht lange braucht.
Die Tablelle schaut so aus:
MAPPE ABT INDEX STATUS TXT
01255 PT1 1 IA Änderung1
01255 PT1 2 OF Änderung2
01255 PT1 3 FR Änderung3
01111 PT2 1 IA Änderung1
01111 PT2 2 OF Änderung1
01111 PA 1 IA Änderung1
01111 PA 2 OF Änderung1
Ich möchte nun die Datensätze rausbekommen bei denen der höchste Index besteht, der Abteilung PT*, bei denen der Status nicht auf FR ist.
In diesem Beispiel wäre die Ausgabe:
schaut soweit einfach aus ist aber nicht.
ich habe folgenden SQL dafür kreiert (Spaltenbezwichnungen sind etwas anders):
select * from t_edm_maer139 WHERE (mani,manr,usgr) in (select distinct on (manr)mani,manr,usgr from t_edm_maer139 WHERE usgr LIKE 'PT%' order by manr,mani DESC ) AND stat NOT LIKE 'FR' ORDER BY manr
der finktioniert auch soweit, nur ist die Performance mit diesem SQL sehr schlecht.
Könnt ihr mir helfen diesen SQL zu optimieren.
Vielen Dank schon mal