sql >> Databasteknik >  >> RDS >> PostgreSQL

Gå med på flera bord med distinkt på

Som jag sa i kommentarerna:Det är exakt samma sak som i Inre koppling med distinkt på . Du måste helt enkelt lägga till ytterligare ett medlemskap och ytterligare en ORDER BY grupp (cd.created_at DESC )

demo:db<>fiol

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

Obs :Jag är inte säker på vad emp_id är kolumn i class_detail är för. Det verkar inte väldesignat (detta beror också på att det alltid är 1 i ditt exempel.) Du bör kontrollera om du verkligen behöver det.




  1. Maximalt (användbart) antal rader i en Postgresql-tabell

  2. Oracle ställer in standard NLS_LANG

  3. kan vi namnge en standardbegränsning i oracle

  4. Rätt sätt att lagra artiklar med filtrerbara attribut?