PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Junte-se em várias tabelas usando distintos em


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.