Wie ich in den Kommentaren gesagt habe:Es ist genau dasselbe wie in Innerer Join mit „distinct on“
. Sie müssen lediglich einen weiteren Join und einen weiteren ORDER BY
hinzufügen Gruppe (cd.created_at DESC
)
SELECT DISTINCT ON (ed.emp_id)
e.emp_id, e.emp_no, e.emp_ref_no, ed.class_no, cd.*
FROM
emp_detail ed
JOIN emp e ON e.emp_id = ed.emp_id
JOIN class_detail cd ON ed.class_no = cd.class_no
ORDER BY ed.emp_id, ed.created_at DESC, cd.created_at DESC
Hinweis :Ich bin mir nicht sicher, was die emp_id
ist Spalte in class_detail
ist für. Es scheint nicht gut gestaltet zu sein (das liegt auch daran, dass es immer 1
ist in deinem Beispiel.) Du solltest prüfen, ob du es wirklich brauchst.