Ein paar Kommentare.
Zunächst betrachten Sie die gesamten Beratungshonorare über alle Portfolios hinweg. Das scheint ungewöhnlich. Es stimmt mit Ihrer Beschreibung überein, aber ich würde erwarten, dass die Gesamtsumme auf einem Faktor basiert, wie z. B. dem Portfolio.
Zweitens tritt Ihr Problem auf, wenn es keine Übereinstimmungen im ingoing
gibt oder outgoing
Tische. Dann sind die Werte Ihrer Variablen NULL
.
Sie können dies leicht beheben, indem Sie Folgendes tun:
SET `total` := coalesce(`initial`, 0) + coalesce(`ongoing`, 0);