MYSQL Left-Join Table 选择数据问题 - 逻辑错误

MYSQL Left-Join Table Selecting Data Issue - Logic Error

我有以下 4 个表。

1. DEBATES. 
   [ID, STARTER_PACK_ID]
2. DEBATE_GROUPS.
   [ID, DEBATE_ID, STAKEHOLDER_ID]
3. DEBATE_STAKEHOLDERS.
   [ID, STARTER_PACK_ID, NAME]
4. DEBATE_STARTER_PACKS.
   [ID]

我正在尝试 select 每个辩论组,其中包含每个利益相关者 ID、利益相关者姓名 ID 以及参与该辩论的利益相关者人数,其中 starter_pack_id 等于特定值。例如,必须显示这些,即使计数为 0 或存在空值

预期结果如下..

DEBATE_ID | STAKEHOLDER_ID | COUNT(Example)
-------------------------------------------
   1             1               2
   1             2               1
   1             3               3
   2             1               4
   2             2               1
   2             3               2

The issue is that it isn't showing the debates which haven't been used in the database, which is what I required. What should I change in the code below to retrieve this information?

下面是我的尝试...

SELECT 
    a.id, 
    a.name, 
    a.abbreviation, 
    b.debate_id, 
    IF(COUNT(b.stakeholder_id) = 0, 0, COUNT(b.stakeholder_id)) AS total_freq, 
    COUNT(b.stakeholder_id) AS freq 
FROM 
    debate_stakeholders a LEFT JOIN debate_groups b ON b.stakeholder_id = a.id 
GROUP BY
    a.id, b.debate_id 
HAVING 
    COUNT(*) < 3 
ORDER BY 
    a.id,b.debate_id,b.stakeholder_id 
SELECT 
    a.id, 
    a.name, 
    a.abbreviation, 
    d.id, 
    IF(COUNT(b.stakeholder_id) = 0, 0, COUNT(b.stakeholder_id)) AS total_freq, 
    COUNT(b.stakeholder_id) AS freq 
FROM 
    debate_stakeholders a LEFT JOIN debate_groups b ON b.stakeholder_id = a.id 
    RIGHT JOIN debates as d ON b.debate_id = d.id
GROUP BY
    a.id, b.debate_id 
HAVING 
    COUNT(*) < 3 
ORDER BY 
    a.id,b.debate_id,b.stakeholder_id