Myślę, że problem polega na tym, że grupowanie jest zbyt szczegółowe.
W takim przypadku prawdopodobnie sensowne byłoby wykluczenie trzech kolumn Amount (AgentHolding , CompanyHolding i Difference ) z GROUP BY i po prostu zagreguj je (sum ) na wyjściu.
Oto przykład tego, co przyniesie ta zmiana:https://www.sqlfiddle.com /#!3/fc4d4/7
Uwaga:pominąłem left join z PrevTrade tabeli, ponieważ nie znałem jej struktury i danych, ale mam nadzieję, że to ilustruje intencje.