盘点库存数量

u4vypkhs  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(137)

我需要清点存货中剩余的物品数量,但我不知道如何做到这一点。
项目

ITEM_ID   ITEM_BARCODE   ITEM_NAME       ITEM_ROP
-------------------------------------------------
101       76164231       Marlboro 20     20
102       76164217       Marlboro B 20   10
103       9555192501305  Juicy Fruit     5
104       9300682016278  M & M Crispy    5

股票

STOCK_ID  ITEM_ID  STOCK_QUANTITY   STOCK_DATE   
----------------------------------------------
001       101      20               01-JUL-18
002       104      30               02-JUL-18
003       101      50               02-JUL-18
004       104      20               05-JUL-18
005       103      45               06-JUL-18

出售

SALES_ID  ITEM_ID  SALES_QUANTITY   SALES_DATE   
----------------------------------------------
001       101      20               02-JUL-18
002       104      30               02-JUL-18
003       101      35               03-JUL-18
004       103      20               09-JUL-18

应该有两个结果,第一个结果如下所示,它将根据表中的库存和销售额生成剩余的项目数量。表中的存货将保留项目数量的记录。同时,表sales将保存已售出数量项目的记录(stock\u quantity-sales\u quantity)。

ITEM_BARCODE   ITEM_NAME         QUANTITY
------------------------------------------
76164231       Marlboro 20       15
76164217       Marlboro B 20     0
9555192501305  Juicy Fruit       25
9300682016278  M & M Crispy      20

第二个输出是根据哪个项目低于表项中的重订货点(rop)来显示的

ITEM_BARCODE   ITEM_NAME         QUANTITY  ROP
----------------------------------------------
76164231       Marlboro 20       15        20
76164217       Marlboro B 20     0         10
SELECT T.STOCK_DATE, 
       I.ITEM_BARCODE, 
       I.ITEM_NAME, 
       SUM(T.STOCK_QUANTITY) - SUM(S.SALES_QUANTITY) AS QUANTITY 
  FROM ITEMS I 
 INNER
  JOIN STOCKS T 
    ON I.ITEM_ID = T.ITEM_ID 
  LEFT 
  JOIN SALES S 
    ON I.ITEM_ID = S.ITEM_ID 
 GROUP 
    BY I.ITEM_BARCODE, 
       T.STOCK_DATE, 
       I.ITEM_NAME 
 ORDER 
    BY T.STOCK_DATE;

有人能帮我吗?非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题