So habe ich diese zwei Tabellen auf Oracle:Oracle Doppel wählen Ausgabe
CLIENT
cl_id cl_name
1 John
2 Maria
ZAHLUNGEN
pa_id pa_date pa_status cl_id
1 2017-01-01 1 1
2 2017-01-01 1 2
3 2017-02-01 1 1
4 2017-02-01 1 2
5 2017-03-01 0 1
6 2017-03-01 1 2
ich wählen statemant müssen, die mir die Client-ID, NAME gibt und der Status seiner letzten Zahlung. So ist das Endergebnis meiner wählen sollte:
cl_id cl_name pa_status
1 John 0
2 Maria 1
Dies ist der Client auswählen, das funktioniert:
select cl_id, cl_name from CLIENT;
Dies ist der letzte Status der Zahlung wählen, das funktioniert:
select * from ( select pa_status from PAYMENT ORDER BY PA_DATE DESC) where rownum = 1;
Also jetzt muss ich sie zusammen arbeiten lassen. Ich habe versucht, zwei Wege, die nicht funktioniert hat:
select cl_id, cl_name, (select * from ( select pa_status from PAYMENT ORDER BY PA_DATE DESC) where rownum = 1 and PAYMENT.cl_id = CLIENT.CL_ID) as last_status from CLIENT;
Fehler: ungültige Kennung
und dieses:
select cl_id, cl_name, (select * from ( select pa_status from PAYMENT ORDER BY PA_DATE DESC) where rownum = 1) as last_status from CLIENT;
, die geben mir keine Fehler, sondern nur zeigt den gleichen letzten Status von John, der der letzte Datensatz ist:
cl_id cl_name last_status
1 John 0
2 Maria 0
Kann mir jemand einen Tipp geben?
Dank
Das hat gut geklappt. Vielen Dank! – Sambarilove
großartig. Dafür gibt es eine noch bessere Syntax - suchen Sie nach der FIRST-Analysefunktion. Viel Glück! – user2671057