yo lo haria de esta forma:
Código SQL
[-]
select DISTINCT p.AREA, sum(p.monto), sum(p.original), t.total
FROM presupuesto as p
LEFT JOIN (
select DISTINCT AREA, sum(unitario * unidades) as total
FROM detfactura
where empresa ='MAT'
group by area
) as t ON (p.area=t.area)
where p.empresa ='MAT'
group by p.area
espero te sirva, saludos ...