Вот простой способ агрегирования:
SQL> with test (product_id, product_sku, product_zone, product_price) as
2 -- sample data
3 (select 1, 123, 'zone1', 10 from dual union all
4 select 2, 123, 'zone2', 12 from dual union all
5 select 3, 456, 'zone1', 13 from dual union all
6 select 4, 456, 'zone2', 14 from dual
7 )
8 select product_sku,
9 max(case when product_zone = 'zone1' then product_price end) zone1_price,
10 max(case when product_zone = 'zone2' then product_price end) zone2_price
11 from test
12 group by product_sku;
PRODUCT_SKU ZONE1_PRICE ZONE2_PRICE
----------- ----------- -----------
123 10 12
456 13 14
SQL>