Access tables from multiple schemas
If possible. What you need to do is create public synonyms for the tables, grant GRANT SELECT to the user who performs the query.

CREATE PUBLIC SYNONYM app_table1 FOR schema1.app_table1;

CREATE PUBLIC SYNONYM app_table2 FOR schema2.app_table2;

GRANT SELECT ON app_table1 TO app_user;

GRANT SELECT ON app_table2 TO app_user;

Your query will be like this:

Select * from app_table1 ap1 inner join app_table2 ap2