Hola,
Cita: select * from coche fabrica
left outer join cochedelexpediente fabricaexpe on (fabricaexpe.fabricaID = fabrica.fabricaID)
left outer join aviones avi on (avi.matricula = fabricaexpe.matricula)
left outer join tanques tanq on (tanq.tanqID = avi.tanqID)
where
((NULL) IS NULL OR (NVL(tanqid,0)=nvl(NULL,0)))
AND ((NULL) IS NULL OR (NVL (matricula,0)=nvl(NULL,0))));
Quizá sea debido a que no indicas la tabla a que pertenecen estos campos, que se llaman igual para más de una tabla de las que participan en los join.
saludos.