Użyj funkcji analitycznych Oracle. Zmień widok wbudowany dla table_a
na coś takiego:
select attr1,
attr2,
sum(quantity) over (partition by attr1 order by attr1) as total_qty,
attr3
from table_a
where attr4 > 0
Może to wymagać drobnych poprawek, ale to podstawowa idea.