select ei.EMPLOYEE_ID,
       case when LAST_UPDATE_DT > UPDATE_DT then POSITION else NEW_POSITION end    as POSITION,
       case when LAST_UPDATE_DT > UPDATE_DT then LAST_UPDATE_DT else UPDATE_DT end as LAST_UPDATE_DT
from EMPLOYEE_INFO ei
         join (select UPDATE_DT, e.EMPLOYEE_ID, NEW_POSITION
               from EMPLOYEE_UPDATE e
                        join (select max(UPDATE_DT) as m, EMPLOYEE_ID
                              from EMPLOYEE_UPDATE
                              group by EMPLOYEE_ID) eu on e.EMPLOYEE_ID = eu.EMPLOYEE_ID and e.UPDATE_DT = eu.m) b
              on b.EMPLOYEE_ID = ei.EMPLOYEE_ID
order by ei.EMPLOYEE_ID;