Вы можете использовать регистр, как показано ниже, чтобы уменьшить и увеличить количество на основе типа, а затем сгруппировать по Имени и найти сумму количества, полученную из выписки, чтобы получить желаемый результат.
select row_number() over (order by a.Name) as Sl,a.Name, sum(a.qntity) as qntity
from
(select t2.Name,case when t1.type='MR' then t2.qntity else -(t2.qntity) end as qntity
from table1 t1,table2 t2 where t1.oid=t2.table01_oid) a
group by a.Name;
Этозапрос даст результат, как показано ниже:
SL NAME QNTITY
1 Balls 0
2 Books 6
3 Pencil 13