Bavashi, Получилось решить проблему вот так:
SELECT * FROM
(SELECT
t.company, SUM(t.dogovor_count_object) AS dogovor_count_object, SUM(t.dogovor_price) AS dogovor_price
FROM (
SELECT
company, SUM(dogovor_count_object) AS dogovor_count_object, ROUND(SUM(dogovor_price), 2) AS dogovor_price
FROM
tab1
GROUP BY company
UNION
SELECT
company, SUM(dogovor_count_object) AS dogovor_count_object, ROUND(SUM(dogovor_price), 2) AS dogovor_price
FROM
tab2
GROUP BY company
......
) AS t
GROUP BY t.company) AS t1
ORDER BY t1.dogovor_price DESC