• 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

    ** Don't mistake the ‘stupidity of the crowd’ for the ‘wisdom of the group’! **