我实施了以下查询,列出了所有类别,并提供了与每个类别相关联的产品数量。
SELECT tm.term_id, tm.name, count(tm.name) as total_products
FROM mg_term_taxonomy tx
LEFT JOIN mg_terms tm
ON tx.term_id=tm.term_id
LEFT JOIN mg_term_relationships tr
ON tr.term_taxonomy_id=tx.term_taxonomy_id
WHERE tx.taxonomy='product_cat'
GROUP BY tm.term_id
问题出在具有任何相关产品的类别上。在这种情况下,total_products将其计为1而不是0。 问题是如果tr.object_id为NULL,如何在total_products中获得0?
答案 0 :(得分:1)
计算您想要计算的字段:
SELECT tm.term_id, tm.name, count(tr.object_id) as total_products
. . .