Como afirmei nos comentários:é exatamente a mesma coisa que em Inner join usando distinct em . Você simplesmente tem que adicionar outro join e outro
ORDER BY
grupo (cd.created_at DESC
) demo:db<>fiddle
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
Observação :não tenho certeza do que o
emp_id
coluna em class_detail
é para. Parece mal projetado (isso também porque é sempre 1
no seu exemplo.) Você deve verificar se realmente precisa dele.