with t1 as (
    select EMPLOYEE_ID,max(UPDATE_DT) as UPDATE_DT
    from EMPLOYEE_UPDATE eu
    group by EMPLOYEE_ID
),
t2 as (
    select EMPLOYEE_ID,NEW_POSITION,UPDATE_DT
    from EMPLOYEE_UPDATE eu
    where (EMPLOYEE_ID,UPDATE_DT) in (select EMPLOYEE_ID,UPDATE_DT from t1)
)
select 
    ei.EMPLOYEE_ID,
    case
      when UPDATE_DT>LAST_UPDATE_DT then t2.NEW_POSITION
      else ei.POSITION end as POSITION,
    case
      when UPDATE_DT>LAST_UPDATE_DT then t2.UPDATE_DT
      else ei.LAST_UPDATE_DT end as LAST_UPDATE_DT
from EMPLOYEE_INFO ei
join t2 on ei.EMPLOYEE_ID=t2.EMPLOYEE_ID
order by ei.EMPLOYEE_ID