Вы можете сделать Pivot, используя номер строки, чтобы не потерять значение в вашей группе при использовании макс.
with cte as (
select 'Shell' as Item, '296.5' as Resultn from dual union all
select 'Shell' as Item, '299.8' as Resultn from dual union all
select 'Shell' as Item, '311' as Resultn from dual union all
select 'Shell' as Item, '289' as Resultn from dual union all
select 'Lining' as Item, '301.33' as Resultn from dual union all
select 'Lining' as Item, '296.5' as Resultn from dual union all
select 'Lining' as Item, '299' as Resultn from dual )
select nvl(Shell,0) Shell, nvl(Lining,0) Lining from (
select c.item, c.Resultn, row_number() over (partition by Item order by Resultn) rownumn
from cte c
) z
pivot
(
max(Resultn)
for item in ('Shell' as Shell ,'Lining' as Lining ));
Выход:
SHELL LINING
289 296.5
296.5 299
311 0
299.8 301.33