我试图用 s 在几个表中进行计数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
我认为也是需要的。我坚持这一点,因为我没有办法做到这一点