Vi behöver detaljer om vad som inte fungerar, men jag tror att du bara behöver använda:
UPDATE TablePeople
SET missingdate = (SELECT MAX(te.replacementDate)
FROM TABLEEVENT te
WHERE te.people_id = TablePeople.id)
WHERE missingdate IS NULL
Anteckningar
- MAX används för att returnera det senaste ersättningsdatumet, av rädsla för risken att du får flera värden från underfrågan
- Om det inte finns någon stödjande post i TABLEEVENT, kommer den att returnera null så det finns ingen förändring