我实现了以下查询,列出了所有类别并给出了与每个类别关联的产品数量。
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?
最佳答案
计算您想要计算的字段:
SELECT tm.term_id, tm.name, count(tr.object_id) as total_products
. . .
关于mysql - 包含相关产品数量的类别列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45796979/