Syntaktisch solltest du den Join nehmen und nicht mehr die Komma-Variante, dann wird es auch klarer.

from datei3 c inner join datei2 b on c.key = b.key .....

Und folge Birgittas Tipp, die Where-Klausel in Exists mit genau denselben Bedingungen zu scheiben:

where exists (
select *
from datei3 c inner join datei2 b on
c.S1=b.s2
Where a.k1=c.k1 and a.k2=c.k2 and a.k3=c.k3 and
a.jj=c.jj and a.mm=c.mm and a.tt=c.tt and
b.k1=c.k1 and b.k2=c.k2 and b.k3=c.k3 and
b.jj=c.jj and b.mm=c.mm and b.tt=c.tt and

a.S1=b.S1
)

Im Exists reicht ein "*", da die Feldliste nicht benötigt wird.