select i.invoice_id, coalesce(pp.balance, i.balance) as Balance
from invoices i
left outer join pending_payments pp on i.invoice_id = pp.invoice_id
Avíseme si puede haber varias filas en pending_payments
para el mismo invoice_id
y propondré una solución alternativa.