Perhaps you can do it without the third table:
select
coalesce(june.level, july.level) as 'level'
, coalesce(june.sthdi_code, july.sthdi_code) as 'sthdi_code'
, coalesce(june.Functional_Area, july.Functional_Area) as 'Functional_Area'
, coalesce(june.Quantity, 0) as 'Qty_june'
, coalesce(july.Quantity, 0) as 'Qty_july'
, coalesce(july.Quantity, 0) - coalesce(june.Quantity, 0) as 'Difference'
from june
full outer join july
on june.level = july.level
and june.sthdi_code = july.sthdi_code
and june.Functional_Area = july.Functional_Area