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输入,但它实际上不起作用。据我所知,没有测试数据很难进行测试。您可以用文件中的所有数据检查它吗?我在邮报上编辑过。