Если prepayment один, то можно его взять максом:
SELECT O.ID, MAX(OP.VALUE) AS PREPAYMENT, SUM(EF.VALUE) AS PAYMENT
FROM b_sale_order O
LEFT JOIN `d_sale_order_prepayment` OP ON ( OP.order_id = O.ID )
LEFT JOIN `d_sale_order_excess_fare` EF ON ( EF.order_id = O.ID )
GROUP BY O.ID
Если же в обоих таблицах может быть более 1 записи, а не только в d_sale_order_excess_far, то или бить запрос на 2 или попробовать использовать аналитические функции:
SELECT O.ID,
SUM(OP.VALUE) OVER (PARTITION BY O.ID ) AS PREPAYMENT,
SUM(EF.VALUE) OVER (PARTITION BY O.ID ) AS PREPAYMENT AS PAYMENT