Auf Thema antworten

also, die datenbank sieht wie folgt aus:

tabelle 1:

appln_idipc4
1H01R
2H01R
......


wobei mehrere ipc4 kategorien je appln_id vorkommen können.


Dann hier die tabelle 2:

w08_2ipc4weight
1H01R0,5
2H01R0,6


Und das Endergebnis sollte dann sein:

appln_idw08_2weight
120,6
2100,8
.........


Das bedeutet, ich merge zuerst Tab1 und Tab2 nach ipc4 und dann möchte ich den max Wert von weight und die jeweilige Kategorie "w08_2" in der der Max-Wert enthalten ist.


Meine (neu, habe es abgedatet damit nur eine Zeile mehr vorhanden ist) Abfrage lautet jetzt:

SELECT distinct a.appln_id, 

        min(b.w08_2), 

        max(weight) as weight

FROM tls209_appln_ipc a

inner join (select w08_2, max(weight) as weight, ipc4 

                from public.tls_contable

                group by ipc4,w08_2) b 

                on b.ipc4=a.ipc4 and b.weight >0 


WHERE a.appln_id<3 

group by a.appln_id--, b.w08_2

order by  appln_id,weight DESC;


wobei ich nicht den min-Wert von w08_2 sondern den max-Wert von weight und einfach die Kategorie/Zeile aus der das Maximum kommt.


Zurück
Oben