Скорректировать запрос sum в SQL Server
Есть таблица со списком данных по закупкам/продажам товара. В таблицу необходимо добавить данные по общему кол-ву товара в двух категориях: заказ на покупку/ счет-фактура продажи. Код написан:
select order_type_id,
product_id , sum(cnt) cnt_total
from operations_data group by order_type_id,
product_id order by order_type_id
Далее из таблицы необходимо выделить остатки по всем позициям товаров на складе с учетом поступления (заказа) и отгрузки со склада (счет-фактуры). В итоговом варианте должен получиться список из товарных позиций с остатками по каждому товару.
Код:
select product_id,
((select sum(cnt)
from operations_data
where order_type_id = 2) -
(select sum(cnt)
from operations_data
where order_type_id = 1)) Остаток_на_складе
from operations_data group by product_id
считает остатки правильно, но выводит на каждую позицию общий итог -2202 вместо распределения по каждому товару
Для удобства есть https://dbfiddle.uk/nJDuyqdg
Источник: Stack Overflow на русском