with u1 as(
    select EMPLOYEE_ID,UPDATE_DT,NEW_POSITION,row_number()over(partition by EMPLOYEE_ID order by UPDATE_DT desc) as rk
    from EMPLOYEE_UPDATE),
    u2 as(
    select EMPLOYEE_ID,UPDATE_DT,NEW_POSITION
    from u1 where rk=1)
select e.EMPLOYEE_ID as EMPLOYEE_ID,case when u2.UPDATE_DT>=e.LAST_UPDATE_DT then u2.NEW_POSITION else e.POSITION end as POSITION,
case when u2.UPDATE_DT>=e.LAST_UPDATE_DT then u2.UPDATE_DT else e.LAST_UPDATE_DT end as LAST_UPDATE_DT
from u2 join EMPLOYEE_INFO e on u2.EMPLOYEE_ID=e.EMPLOYEE_ID
order by EMPLOYEE_ID