Nun ja, das "exists" ist schon erforderlich, wenn der Key in Datei1 mal nicht vorhanden ist.

Aber ansonsten ist das schon korrekt, wenn du in der Datei 2 die Felder Jahr/Monat/Tag in 3 Feldern hast, benötigst du auch 3 Subselects.
Dies kannst du aber auch in 1 Befehl machen:

update myfile set
F1 = (Select ...)
,F2 = (select ...)
:
where ...

Ab V5R4 gilt wohl auch fogende Syntax:

Update myfile set
(F1, F2, ...) =
(select X1, X2, X3 from ... where ...)
where ...