select a.contract_id a.agreement_version a.deal_uid a.probability_perc a.agreement a.dt_agreement a.is_actual a.descr d.contract d.dt_contract k.contragent (select count(*) from specification_item_version siv join specification_item si on (siv.specification_item_uid=si.specification_item_uid) join specification s on (si.specification_id=s.specification_id) where a.contract_id=s.contract_id AND a.agreement_version=siv.agreement_version) as change_cnt (select sum(quantity*price) from specification_item_version siv join specification_item si on (siv.specification_item_uid=si.specification_item_uid) join specification s on (si.specification_id=s.specification_id) where a.contract_id=s.contract_id AND a.agreement_version=siv.agreement_version) as agreement_sum (select sum(quantity*price)*a.probability_perc/100 from specification_item_version siv join specification_item si on (siv.specification_item_uid=si.specification_item_uid) join specification s on (si.specification_id=s.specification_id) where a.contract_id=s.contract_id AND a.agreement_version=siv.agreement_version) as agreement_sum_p from agreement a join contract d on (a.contract_id=d.contract_id) join contragent k on (d.contragent_id=k.contragent_id) where 1=1 order by select count(*) as cnt from agreement where 1=1 Сделки (соглашения) title="редактировать" class="edit"title="просмотр" class="view"> #contract# #gridFooter# Под суммой понимается здесь сумма измененных позиций, а не изменение суммы от предыдущей версии! Создавать сделки (соглашения) нужно из договоров (потому что у нас сделка - это базовая или дополнительная версия фактуры договора с вероятностью, дополнительное или базовое соглашение к договору)