Ok,
per i parziali ti ripropongo la query che ti ho scritto prima, leggermente modificata:
SELECT t1.id,
NVL(
(SELECT SUM(quantita)
from tabella t2
where segno = '+'
and t1.id = t2.id
), 0) AS positivo,
NVL(
(SELECT SUM(quantita)
from tabella t3
where segno = '-'
and t1.id = t3.id
),0) AS negativo
)
from tabella t1
group by t1.id

Rispondi quotando