try:
select 
a,b,sum(decode(c,1,d,0)),sum(decode(c,2,d,0)),sum(decode(c,3,d,0)),sum(decode(c,4,d,0))
from tab
group by a,b