Имаме нужда от подробности за това какво не работи, но мисля, че трябва да използвате само:
UPDATE TablePeople
SET missingdate = (SELECT MAX(te.replacementDate)
FROM TABLEEVENT te
WHERE te.people_id = TablePeople.id)
WHERE missingdate IS NULL
Бележки
- MAX се използва за връщане на най-новата дата на замяна от страх от риск да получите множество стойности от подзаявката
- Ако няма поддържащ запис в TABLEEVENT, той ще върне null, така че няма промяна