Możesz to zrobić w ten sposób w 10G:
select salesboyname,
sum (case when product='P1' then amount end) as p1,
sum (case when product='P2' then amount end) as p2,
sum (case when product='P3' then amount end) as p3
from tblsales
group by salesboyname;
W 11G istnieje słowo kluczowe PIVOT podobne do słowa SQL Server.