关于如何使 MySQL 显示具有 0 条记录的行的结果,有很多问答,但它们都最多涉及 1-2 个表/字段。
我试图达到相同的目的,但跨越 3 个领域,我似乎无法得到它。
这是我一起破解的:
SELECT circuit.circuit_name, county.county_name, result.adr_result, count( result.adr_result ) AS num_results
FROM
(
SELECT cases.case_id, cases.county_id, cases.result_id
FROM cases
WHERE cases.status_id <> "2"
) q1
RIGHT JOIN county ON q1.county_id = county.county_id
RIGHT JOIN circuit ON county.circuit_id = circuit.circuit_id
RIGHT JOIN result ON q1.result_id = result.result_id
GROUP BY adr_result, circuit_name, county_name
ORDER BY circuit_name, county_name, adr_result
我需要看到的是第一列中所有电路的列表,第二列中每个电路的所有县的列表,每个县的所有可能的 adr_result 条目的列表(每个县都相同)在第三列,然后是电路/县/结果组合的相应计数——即使它是 0。我已经尝试了左、右和内连接的每种组合(我知道内连接绝对不是解决方案,但我我很沮丧),只是看不出我哪里出错了。
任何帮助,将不胜感激!