SELECT * FROM
( SELECT
e.*,
ROW_NUMBER() OVER (partition by emp_id order by effective_date DESC) r
FROM
EMPLOYEE e)
WHERE r = 1;
По-горе ще получите запис с максимална ефективна__Дата за всеки отделен emp_id.
Вашето второ изискване за връщане на запис за дадена дата трябва да бъде изпълнено от тази заявка:
("статус ASC" - ще се погрижи за приемането на статус "Joiner", ако има и "Leaver" за същата дата.)
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;