を使用して複数のテーブル内でカウントしようとしていますがJOIN
、複数JOIN
の s を作成すると、COUNT
s が間違ってカウントされました。
基本的に、次の名前の4つのテーブルがあります。
- predective_search
- predective_to_product
- predective_to_category
- predective_to_manufacturer
テーブル predective_search で同じ ID を持つ製品、カテゴリ、およびメーカーの総数をカウントしたいと考えています。
これが私のコードです:
SELECT * ,
COUNT(pp.predictive_id) AS total_products,
COUNT(pc.predictive_id) AS total_categories,
COUNT(pm.predictive_id) AS total_manufacturers
FROM predictive_search ps
LEFT JOIN predictive_to_product pp ON (ps.predictive_id = pp.predictive_id)
LEFT JOIN predictive_to_category pu ON (ps.predictive_id = pc.predictive_id)
LEFT JOIN oc_predictive_to_manufacturer pm ON (ps.predictive_id = pm.predictive_id)
GROUP BY ps.predictive_id
もGROUP BY
必要だと思います。これを行う方法がないので、私はこれで立ち往生しています