select st.student_id
from (select student_id
from registrations
where registered = 'Y' AND DATE = MAX DATE ONLY
GROUP BY student_id
) reg,
students st
where st = reg.student_id(+)
select reg.student_id
from
(
SELECT student_id
from
(
select student_id , MAX(DATE) dates
from registrations
where registered = 'Y'
group by Student_id
)x INNER JOIN registrations r ON r.Student_ID = x.student_id AND x.dates = r.date
)reg INNER JOIN students st ON reg.student_id = st.Student_id
select st.student_id
from (select TOP 1 student_id
from registrations
where registered = 'Y' AND DATE = MAX DATE ONLY) reg,
students st
where st = reg.student_id(+)