如何在使用SQL之前每天与几天求和

时间:2019-01-23 09:27:08

标签: mysql sum conditional

我有一个包含五列的库存移动表:产品ID,移动数量,日期,源库存,目标库存。该表包含不同库存之间的产品移动信息。对于产品从仓库中退出的已售产品,源库存具有一个值,目标库存为空。对于将产品送入仓库的购买产品,目标库存具有值,而源库存为空。我想要每个产品的每日库存。我使用了这样的代码:

 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)

当我按日期删除分组时,代码返回给我今天的真实库存。但是我想要每天的库存,此代码返回我每一天的数量总和,而不是在此之前的天数相加。例如,当我有售出产品时,它会向我返回售出数量的负值,并且不会从前一天的库存中减去该数字。我该如何解决每天早于几天的总和的问题?

0 个答案:

没有答案