Используя OVER , мы можем получить промежуточную сумму. Берт Вагнер имеет хороший пост в блоге, который более подробно расскажет об этой теме c.
CREATE TABLE #MyTable
(
ItemCode VARCHAR(10)
, Date DATE
, SalesQTY INT
)
INSERT INTO #MyTable VALUES
('Item A', '01/01/2020', 1)
, ('Item A', '02/01/2020', 2)
, ('Item A', '03/01/2020', 3)
, ('Item B', '01/01/2020', 4)
, ('Item A', '04/01/2020', 5)
, ('Item B', '02/01/2020', 6);
SELECT
Date
, ItemCode
, SUM(SalesQTY) OVER (PARTITION BY ItemCode ORDER BY Date ROWS UNBOUNDED PRECEDING) AS SalesQTY
FROM
#MyTable