sql >> Databáze >  >> RDS >> PostgreSQL

Připojte se na více stolech pomocí odlišného on

Jak jsem uvedl v komentářích:Je to přesně to samé jako v Vnitřní spojení pomocí odlišného zap . Jednoduše musíte přidat další spojení a další ORDER BY skupina (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

Poznámka :Nejsem si jistý, co je emp_id ve sloupci class_detail je pro. Zdá se, že není dobře navržen (je to také proto, že je vždy 1 ve vašem příkladu.) Měli byste zkontrolovat, zda to skutečně potřebujete.




  1. SET proměnná v příkazu SELECT - MySQL

  2. Oracle - rozdělení jednoho řádku na více řádků

  3. Vytvořte dynamickou klauzuli WHERE v mySQL

  4. Upozornění:Převod pole na řetězec v