Both queries take the same amount of time to run in TOAD... So I don't understand why they would take a different amount of time during Reading Records...
The inner joins that you see are actually done behind the scenes in the view that I created, RPT_PSDMEASSUM. I renamed RPT_PSDMEASSUM in the database expert to "Measurement Info" so that it had a little meaning to other developers who might want to maintain my report. So both queries had inner joins, you just couldnt see them in Report B

Both queries are doing the same thing, and returning the same results.
Here is what I did to double check: I put select * from RPT_PSDMEASSUM (alias MeasurementInfo) in Report A, which is equivilent to pulling the entire view over as I do in Report B. I am still having a huge difference in performance times.
I really don't think it has to do with WHAT the SQL statement is that results, but rather HOW the query is put together, and what crystal does with the data as a result of HOW it was put together... Does that make sense? Is it possible that Report B is trying to filter again?
So now "Show SQL Query" for
Report A looks like this:
select * from RPT_PSDMEASSUM
where project_number = to_number('{?project}')and
summary_type = '{?Summary_type}'
and ('{?Expense_type}' = ' ' or expense_type ='{?Expense_type}')
and ( '{?Perspective}' = '' or perspective = '{?Perspective}')
and ('{?Delv_type}' = ' ' or deliverable_type = '{?Delv_type}')
and (to_number('{?location}')= 0 or app_location_id = to_number('{?location}'))
and (to_number('{?discipline}')= 0 or discipline_id = to_number('{?discipline}'))
and (to_number('{?discipline_group}')= 0 or discipline_group_id = to_number('{?discipline_group}'))
and currency = '{?Currency}'
and
finish_date >= to_date('{?start_date}','DD-MON-YY')
and finish_date <= to_date('{?end_date}','DD-MON-YY')
order by finish_date
--- This table only has 3 records in it anyways - it really doesnt matter ---
select distinct sm.project_number,
last_value(finish_date) over (partition by sm.project_number order by finish_date rows between unbounded preceding and unbounded following) finish_date
from summarized_measurements sm, measurement_periods mp
where sm.project_number = mp.project_number
and sm.measurement_period_id = mp.measurement_period_id
and sm.current_calculation_switch = 'C'
--- And this table only has about 20 records, so it doesn't really matter much either---
select proj.project_number,
proj.project_number_display,
proj.description project_description,
proj.start_date project_start_date,
proj.finish_date project_finish_date,
ac.client_name,
aip.image project_image,
aic.image client_image
from projects proj, app_images aip, app_images aic, app_clients ac
where proj.client_id = ac.client_id (+)
and ac.image_id = aic.image_id (+)
and proj.image_id = aip.image_id(+)