Давайте попробуем это с упрощенной версией вашего запроса:
-- test tables
create table NEWTESTAPPLICANT as select 1 useridx from dual ;
create table B as select 1 id, 'name1' username from dual ;
-- query
select *
from (
select B.username
from NEWTESTAPPLICANT qNA
) A join B on A.useridx = B.id ;
-- ORA-00904: "B"."USERNAME": invalid identifier
В таблице NEWTESTAPPLICANT нет столбца «username», который вызывает ошибку.Боковой вид в строке (примеры см. здесь ) может помочь ...
-- query
select
*
from B, lateral (
select B.username
from NEWTESTAPPLICANT qNA
) A ;
-- result
ID USERNAME USERNAME
1 name1 name1
Это работает с Oracle 12c.