Da muss ich Roland zustimmen, da das Feld ja in Datei1 vorhanden ist.
Ein Subselect kann sich ja durchaus auf den übergeordneten beziehen:

select * from filea
where aaa in (select bbb from fileb where filea.x1 = fileb.y1)

Es macht natürlich wenig Sinn in der Selectliste Felder aus der übergeordneten aufzuführen. Aber Gründe (Berechnungen, Concat, o.ä.) kann ich mir schon vorstellen.
Daher ist das kein SQL-Fehler.