If DBQL is set up to log with enough detail in your system, you can use the DBC.QryLogObjects view to determine what database columns are accessed by your query. The tricky part if finding your query in the log. The following technique uses "label queries" around your query to bracket what you want to examine in the log. Make sure you wait 10 minutes or whatever your DBQL flush interval is before running the summary query.
-- These selects should bracket your query
select 'BeginQueryTracking001';
-- your query here:
Select a.columnA,b.ColumnB from subjectarea1.table1 a left outer join subjectarea2.table2 b on a.id = b.id;
select 'EndQueryTracking001';
-- Wait 10 minutes before issuing this summary query that returns your object names.
-- Make sure that the BeginQueryTracking001/EndQueryTracking001 match what you used above.
select distinct O.objectdatabasename,O.objecttablename,O.objectcolumnname
from dbc.qrylog L1
join dbc.qrylog L2
on L1.sessionid=l2.sessionid
and L1.starttime < L2.starttime
and L1.querytext = 'select ''BeginQueryTracking001'';'
and L2.querytext = 'select ''EndQueryTracking001'';'
join dbc.qrylog M
on M.sessionid = L1.sessionid
and L1.starttime < M.starttime and M.starttime < L2.starttime
join dbc.qrylogobjects O
on M.queryid = o.queryid
and O.objectcolumnname is not null
order by 1,2,3