sql >> Base de Datos >  >> RDS >> PostgreSQL

Únase en varias tablas usando distintos en

Como dije en los comentarios:es exactamente lo mismo que en Combinación interna usando distinto en . Simplemente tienes que añadir otro join y otro ORDER BY grupo (cd.created_at DESC )

demostración: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

Nota :No estoy seguro de cuál es el emp_id columna en class_detail es para. Parece que no está bien diseñado (esto también se debe a que siempre es 1 en su ejemplo.) Debe verificar si realmente lo necesita.