Das ist der Nachteil der fehlenden Normalisierung. Versuch mal folgendes:

select sum(
case
when pers1=x then ums1
when pers2=x then ums2
when pers3=x then ums3
when pers4=x then ums4
when pers5=x then ums5
else 0 end)
from ...
where ... and (pers1=x or pers2=x or pers3=x or pers4=x or pers5=x)

Dabei gilt, dass eine Person nur einmal pro Satz vorkommen darf !
Ansonsten gilt halt dein Verfahren.