すべての製品の詳細を含むテーブル名 products と、各倉庫の製品の数量の詳細を含む別の ws_products があります。
製品テーブルから ID、コード、名前を選択し、products.id = ws_products.product_id の数量の合計を取得したい
私はこれを試しています
$this->db->select("id, code, name");
$this->db->from("products");
$this->db->join('whs_products', 'products.id = whs_products.product_id');
$this->db->select("quantity");
合計ではなく、ws_products に存在するリスト製品を取得します。一部の製品は、ws_products に 2 つのエントリがあるため、2 回リストされています。
すべての製品を 1 回だけリストしたい数量に 0 を入力したい場所と、ws_products で 1 を超える場所にすべての数量の合計を表示したい
助けていただければ幸いです。
テーブル構造
Products
id, code, name, unit, price
whs_products
id, product_id, warehouse_id, quantity
倉庫ID、名前、住所用のWhsテーブルも あります
私はこのサーを試しました、
$this->db->select("products.id as productid, products.code, products.name, products.unit, products.cost, products.price, sum(whs_products.quantity) as 'totalQuantity'")
->from('products')
->join('whs_products', 'whs_products.product_id=products.id', 'left')
->group_by("products.id");
$this->db->get();
すべて順調。しかし、製品の総数は間違って計算されます。システムは、ws_products から数量を取得するたびに、合計製品に 1 を追加すると思います。商品によっては、各倉庫により2~3倍の数量がございます。
これに対する解決策。あなたのサポートにとても感謝しています。