0
内の別のテーブルを形成し、ここで、各Product_Id
の残りの株式を取得するための私のクエリがあります。しかし、Product
テーブルからProduct_Name
を追加する方法についてはわかりません。 i.Product_Id
をp.Product_Name
に置き換え、pをProductのエイリアスに置き換えます。 Product p
はFROM
に挿入する必要がありますが、指定したクエリとの接続方法はわかりません。ところで名前とIDを交換すると、既存のクエリ
、Product.Id = Inventory.Product_Id
SELECT
i.Product_Id,
i.Stocks,
s.Sales,
i.Stocks - s.Sales AS Remaining
FROM (SELECT product_id, COALESCE(SUM(quantity),0) AS Stocks FROM inventory GROUP BY product_id) i
LEFT JOIN (SELECT product_id, COALESCE(SUM(quantity),0) AS Sales FROM sales_detail GROUP BY product_id) s
USING(product_id);
事前にみんなに感謝します!
UPDATE !! 以下の質問は私の更新されたものです。既存のと正しく製品をリンクしているかどうか確認できますか?
SELECT
i.Product_Id,
p.Product_Name,
i.Stocks,
s.Sales,
i.Stocks - s.Sales AS Remaining
FROM (SELECT product_id, COALESCE(SUM(quantity),0) AS Stocks FROM inventory GROUP BY product_id) i
LEFT JOIN (SELECT product_id, COALESCE(SUM(quantity),0) AS Sales FROM sales_detail GROUP BY product_id) s
USING(product_id)
JOIN Product p
ON i.Product_Id=p.Id;
おかげBarmar!私は答えを待つ間に私の質問に答えました。更新された質問の一番下にある質問も正しいですか?通常のJOINの代わりにLEFT JOINを使用する方が本当に良いでしょうか? –
お待ちください、私はまだあなたのクエリを見直しています。なぜあなたは 'FROM'と' LEFT JOIN'の間に 'JOIN'のProductsテーブルを置いたのですか? LEFT JOINの直後に 'JOIN'という商品を置くだけでは、違う結果になるのでしょうか? –
この場合は違いはありませんが、場合によっては、外部ジョインの前にすべての内部ジョインを持つことが重要です。 – Barmar