select
        ei.EMPLOYEE_ID,
        if(ei.LAST_UPDATE_DT < per_eu.UPDATE_DT,per_eu.NEW_POSITION,ei.POSITION) as POSITION,
        if(ei.LAST_UPDATE_DT < per_eu.UPDATE_DT,per_eu.UPDATE_DT,ei.LAST_UPDATE_DT) as LAST_UPDATE_DT 
from 
        EMPLOYEE_INFO as ei
left join (
    select
        a.EMPLOYEE_ID,
        a.UPDATE_DT,
        eu.NEW_POSITION  
    from (
        select
            EMPLOYEE_ID,
            max(UPDATE_DT) as UPDATE_DT
        from 
                EMPLOYEE_UPDATE
        group by 
                EMPLOYEE_ID 
    )a
    left join 
            EMPLOYEE_UPDATE as eu
    on 
            a.EMPLOYEE_ID = eu.EMPLOYEE_ID
    and
            a.UPDATE_DT = eu.UPDATE_DT
) as per_eu
on 
        ei.EMPLOYEE_ID = per_eu.EMPLOYEE_ID
order by 
        ei.EMPLOYEE_ID