访问计数() return 零。不知道如何离开加入
Access count() return zero. Don't know how to left join
我已经准备好这个查询:
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;
return结果如下:
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 个俱乐部,但查询在 return 中给了我 18 个。因为其他 4 个俱乐部(19 到 22)没有 "KP" 的球员。所以我也需要得到那些俱乐部然后查询 t return 0.
我查看了论坛并在几个线程中看到了 LEFT JOIN。这是我不明白的访问级别SQL。
有人可以帮我解决这个问题吗?坚持了好几天,如果能重新审视一下,我们将不胜感激。
为了更好地查看这里是查询所在的文件:Here
谢谢大家。
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;
我已经准备好这个查询:
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;
return结果如下:
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 个俱乐部,但查询在 return 中给了我 18 个。因为其他 4 个俱乐部(19 到 22)没有 "KP" 的球员。所以我也需要得到那些俱乐部然后查询 t return 0.
我查看了论坛并在几个线程中看到了 LEFT JOIN。这是我不明白的访问级别SQL。
有人可以帮我解决这个问题吗?坚持了好几天,如果能重新审视一下,我们将不胜感激。
为了更好地查看这里是查询所在的文件:Here 谢谢大家。
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;