Můžete to udělat takto v 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;
V 11G existuje klíčové slovo PIVOT podobné klíčovému slovu SQL Server.