Как суммировать числа ежедневно с днями до использования sql - PullRequest
0 голосов
/ 23 января 2019

У меня есть таблица движения запасов с пятью столбцами: идентификатор продукта, количество движения, дата, исходный запас, целевой запас. эта таблица содержит информацию о движении товара между различными запасами. для проданных товаров, которые выходят со склада, исходный запас имеет значение, а целевой запас равен нулю. для купленных продуктов, которые поступают на склад, целевой запас имеет значение, а исходный запас равен нулю. Я хочу иметь ежедневный запас каждого продукта. я использовал такой код:

 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)

когда я удаляю группу по дате, код возвращает мне настоящий запас на сегодня. но я хочу акции на каждый день, и этот код возвращает мне сумму количества для каждого дня и не суммирует число с днями до этого. например, когда у меня есть проданный продукт, он возвращает мне отрицательное значение проданного количества и не минус это число из запаса последнего дня. как я могу решить эту проблему, если бы у меня была сумма ежедневных дней до этого?

...