Sql Access count()返回零。不知道如何离开加入

Sql Access count()返回零。不知道如何离开加入,sql,ms-access,join,count,zero,Sql,Ms Access,Join,Count,Zero,我已经准备好了这个查询: SELECT s.clubnr, sum(iif(s1.positie = "KP", 1, 0 )) AS AantalKeepers FROM Selectie AS s, Speler AS s1, club c WHERE s.spelernr = s1.spelernr AND s.clubnr = c.clubnr GROUP BY s.clubnr; 它返回以下结果: clubnr AantalKeepers 1 4 2

我已经准备好了这个查询:

SELECT s.clubnr, sum(iif(s1.positie = "KP", 1, 0 )) AS AantalKeepers
FROM Selectie AS s, Speler AS s1, club c
WHERE s.spelernr = s1.spelernr
AND s.clubnr = c.clubnr
GROUP BY s.clubnr;
它返回以下结果:

clubnr  AantalKeepers
1            4
2            5
3            3
4            4
5            3
6            4
7            3
8            2
9            3
10           3
11           3
12           4
13           4
14           4
15           3
16           3
17           3
18           3
这是一个俱乐部的球员谁拥有的位置KP计算,但问题是,结果给我只有俱乐部与这些球员

我有22支球杆,但查询结果给了我18支。因为其他4家俱乐部从19岁到22岁都没有KP球员。所以我也需要得到这些俱乐部,然后查询t返回0

我在论坛上看过,看到左派加入了几个帖子。这是我不理解的Acces SQL级别

有人能帮我吗?我已经坚持了好几天了,如果你能重新审视一下,我将不胜感激

为了更好地查看,下面是查询所在的文件:
提前谢谢大家

ANSI SQL语法。不确定Access是否需要一些额外的括号

SELECT s.clubnr, sum(iif(s1.positie = "KP", 1, 0 )) AS AantalKeepers
FROM Selectie AS s
    LEFT JOIN Speler AS s1 ON s.spelernr = s1.spelernr
    LEFT JOIN club c ON s.clubnr = c.clubnr
GROUP BY s.clubnr;

可以通过删除SELECT子句中的IIF来解决眼前的问题。例如

SELECT s.clubnr, sum(*) AS AantalKeepers
FROM Selectie AS s, Speler AS s1, club c
WHERE s.spelernr = s1.spelernr
AND s.clubnr = c.clubnr
GROUP BY s.clubnr;

我想应该是sameThanks的快速回复!当然,acces给它带来了麻烦。它给出了表达式中缺少运算符的以下错误:s.spelernr=s1.spelernr LEFT JOIN club c ON s.clubnr=c.clubnrI将使用示例数据编辑帖子。好提示,谢谢!在MS Access中,每个连接块周围都需要括号,例如从Selectie AS s LEFT join Speler AS s1 ON s.spelernr=s1.spelernr LEFT join club c ON s.clubnr=c.clubnrThanks输入,但它实际上不起作用。据我所知,没有测试数据很难进行测试。您可以用文件中的所有数据检查它吗?我在邮报上编辑过。