【发布时间】:2010-09-17 06:10:34
【问题描述】:
这可能有点难以解释,但我会尝试。
我想显示类别列表(存储在 1 个表中)以及与每个类别关联的域数(存储在另一个表中)。
在这种情况下,活动扳手是每个域都有一组与之关联的记录(存储在第三个表中)。我只想显示与它们关联的域的类别,域的计数应仅反映与它们关联的记录的域(来自第 3 个表)。
我当前的查询
SELECT r.rev_id, c.cat_id, c.cat_name, count(d.dom_id) As rev_id_count FROM reviews r
INNER JOIN domains d ON r.rev_domain_from=d.dom_id
INNER JOIN categories c ON d.dom_catid=c.cat_id
WHERE rev_status = 1
GROUP BY cat_name
ORDER BY cat_name
这会选择正确的类别名称,但会显示错误的计数 (rev_id_count)。如果类别中有 2 个域,每个域有 2 条记录,则显示计数为 4,而应为 2。
【问题讨论】: