У меня есть таблица движения запасов с пятью столбцами: идентификатор продукта, количество движения, дата, исходный запас, целевой запас. эта таблица содержит информацию о движении товара между различными запасами. для проданных товаров, которые выходят со склада, исходный запас имеет значение, а целевой запас равен нулю. для купленных продуктов, которые поступают на склад, целевой запас имеет значение, а исходный запас равен нулю. Я хочу иметь ежедневный запас каждого продукта. я использовал такой код:
SELECT product_id id
, SUM(CASE WHEN target_stock > 0 THEN qty ELSE 0 END)
- SUM(CASE WHEN source_stock > 0 THEN qty ELSE 0 END) stock
, DATE(date) date
FROM stock_movement
GROUP
BY product_id
, DATE(date)
когда я удаляю группу по дате, код возвращает мне настоящий запас на сегодня. но я хочу акции на каждый день, и этот код возвращает мне сумму количества для каждого дня и не суммирует число с днями до этого. например, когда у меня есть проданный продукт, он возвращает мне отрицательное значение проданного количества и не минус это число из запаса последнего дня. как я могу решить эту проблему, если бы у меня была сумма ежедневных дней до этого?