0

我有以下配置:

#purchases
id
date
supplier_id

#purchase_line
product_id
purchase_id
quantity
price

#products
id
name
description
measure

#recipe
product_id
beverage_id
quantity

#beverage
id
description
method

#sale_line
beverage_id
sale_id
quantity
price

#sales
id
date

基本上,一场销售有很多饮料,每种饮料都是由一定数量的产品制成的。那么,计算每次销售中产品数量的最佳方法是什么?

它是库存控制的一部分,我必须将销售(就产品而非饮料而言)与采购进行比较。

在此处输入图像描述

4

1 回答 1

0

这是否符合您正在寻找的内容?如果没有,请发布更多信息。下面的查询将sales、sales line、brinkage、recipe和products表连接起来,然后根据销售的饮料数量和配方中的数量计算出销售量。我没有测试这个。您可以根据需要添加 WHERE 子句以根据日期、产品等进行限制。

售出数量:

SELECT pr.prod_id
  , pr.prod_name
  , SUM(sl.qty*rc.qty) AS qty_sold 
FROM sales sa JOIN sales_line sl ON sa.sales_id = sl.sales_line_id 
              JOIN beverage bv   ON sl.bev_id = bv.bev_id
              JOIN recipe rc     ON bv.bev_id = rc.bev_id
              JOIN products pr   ON rc.prod_id = pr.prod_id
WHERE ...
GROUP BY pr.prod_id
  , pr.prod_name

购买数量:

SELECT pr.prod_id
  , pr.prod_name
  , SUM(pl.qty) AS qty_purch
FROM purchase pc JOIN purchase_line pl ON pc.purch_id = pl.purch_id
                 JOIN products pr      ON pl.prod_id = pr.prod_id
WHERE ...
GROUP BY pr.prod_id
  , pr.prod_name
于 2013-08-09T12:59:37.837 回答