najpierw zapisujesz wynik sumy sprzedaży jako t1
select product, year, sum(sales) as sales
from table
group by 1,2
order by 1,2
następnie używasz crosstab()
SELECT *
FROM crosstab(
'SELECT product, year, sales
FROM t1
ORDER BY 1,2')
AS foo("product" text, "2013" int, "2014" int);