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、beverage、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 に答える