with tmp as(
select
    EMPLOYEE_ID,
    UPDATE_DT,
    NEW_POSITION
from(
select 
    EMPLOYEE_ID,
    rank() over(partition by EMPLOYEE_ID order by UPDATE_DT desc) rk,
    UPDATE_DT,
    NEW_POSITION
from EMPLOYEE_UPDATE
)a
where rk =1
)
select
    t.EMPLOYEE_ID,
    if(UPDATE_DT>LAST_UPDATE_DT,NEW_POSITION,POSITION) POSITION,
    if(UPDATE_DT>LAST_UPDATE_DT,UPDATE_DT,LAST_UPDATE_DT) LAST_UPDATE_DT
from tmp t left join EMPLOYEE_INFO e on t.EMPLOYEE_ID=e.EMPLOYEE_ID
order by t.EMPLOYEE_ID