SELECT * FROM
( SELECT
e.*,
ROW_NUMBER() OVER (partition by emp_id order by effective_date DESC) r
FROM
EMPLOYEE e)
WHERE r = 1;
Ovenstående vil give dig en rekord med maksimal effektiv__dato for hver enkelt emp_id.
Dit andet krav om at returnere post for en given dato bør opfyldes af denne forespørgsel:
("status ASC" - sørger for at tage "Joiner"-status, hvis der også er "Leaver" til samme dato.)
SELECT * FROM
( SELECT
e.*,
ROW_NUMBER() OVER (partition by emp_id order by effective_date DESC, status ASC) r
FROM
EMPLOYEE e
WHERE effective_date <= '<your desired date>')
WHERE r=1;