Введите мудрое суммирование и вычитание в оракуле - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть две таблицы моего магазина и работаю на Oracle. Изображение В первой таблице описывается моя транзакция в магазине, есть два типа транзакций (MR & SR), MR означает добавление продуктов в Store и SR означает удаление продуктов из моего хранилища.То, что я хотел сделать, получило окончательное закрытие моего хранилища.После завершения транзакции количество каждого продукта, как показано на рисунке.Я пробовал много решений, но не могу закончить его.поэтому я не мог показать сейчас.Пожалуйста, помогите мне разобраться с этой проблемой.Спасибо

1 Ответ

0 голосов
/ 09 февраля 2019

Вы можете использовать регистр, как показано ниже, чтобы уменьшить и увеличить количество на основе типа, а затем сгруппировать по Имени и найти сумму количества, полученную из выписки, чтобы получить желаемый результат.

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
...