Хорошо, это странно, и я попытаюсь объяснить, что я имею в виду.
Допустим, я знаю текущий запас sku (на данный момент):
select sku, sum(stock)
from stock
where sku = '1234'
group by sku
и тогда у меня есть продажи для этого sku:
select *
from sales
where sku = '1234' and saleDate > SOME_DATE <---- Get sales for a certain period
order by saleDate desc
И я хочу выяснить, каков был уровень запасов и что делало его таким на определенную дату.
Таким образом, результат должен выглядеть следующим образом:
Current stock @ 21.06.2019 is 50 <---- I know this value
20.06.2019: stockStart = 53, sold = 3, stockEnd = 50 <---- I know the sales, don't know the stock
19.06.2019: stockStart = 58, sold = 5, stockEnd = 53 <---- I know the sales, don't know the stock
18.06.2019: stockStart = 60, sold = 2, stockEnd = 58 <---- I know the sales, don't know the stock
17.06.2019: stockStart = 68, sold = 8, stockEnd = 60 <---- I know the sales, don't know the stock
Initial stock @ 16.06.2019 was 68 <---- Don't know this value
Как будет выглядеть SQL-запрос, чтобы получить что-то вроде этого, где я знаю текущую акцию, я знаю, что было продано, но я хочу найти:
- Запас на каждой строке продаж.
- Конечный запас. (По сути, это последняя строка столбца stockStart)