select
e.EMPLOYEE_ID,
if(e.LAST_UPDATE_DT<=t1.LAST_UPDATE_DT,t1.POSITION,e.POSITION) as POSITION,
if(e.LAST_UPDATE_DT<=t1.LAST_UPDATE_DT,t1.LAST_UPDATE_DT,e.LAST_UPDATE_DT) as LAST_UPDATE_DT
from EMPLOYEE_INFO e
left join
(select
t.EMPLOYEE_ID,
t.POSITION,
t.LAST_UPDATE_DT
from
(select
    a.EMPLOYEE_ID,
    a.NEW_POSITION as POSITION,
    if(a.UPDATE_DT=MAX(b.UPDATE_DT),a.UPDATE_DT,null) as LAST_UPDATE_DT
from
    EMPLOYEE_UPDATE a
join
    EMPLOYEE_UPDATE b
on a.EMPLOYEE_ID=b.EMPLOYEE_ID
group by a.EMPLOYEE_ID,a.UPDATE_DT,a.NEW_POSITION) t
where t.LAST_UPDATE_DT is not null) t1
on e.EMPLOYEE_ID=t1.EMPLOYEE_ID