2015-12-18 1 views
0

Я получил этот запрос готовый:Счет доступа() возвращает ноль. Не знаю, как покинул присоединиться

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 

Это графа игроков из клуба, которые имеют позицию «КП «но проблема в том, что результаты дают мне только клубы с этими игроками.

У меня есть 22 клуба, но запрос дает мне 18 в ответ. Потому что в других 4 клубах (с 19 по 22) нет игроков, которые являются «КП». Поэтому мне нужно также получить эти клубы, а затем вернуть т. 0.

Я просмотрел форум и увидел ЛЕВЫЙ ПРИСОЕДИНЯЯ в нескольких потоках. Это уровень Acces SQL, который я не понимаю.

Есть ли кто-нибудь, кто может мне помочь? Застрял с этим в течение многих дней, и новый взгляд на него был бы оценен.

Для лучшего просмотра вот файл, в котором находится запрос: Here Спасибо вам все заблаговременно.

ответ

0

ANSI SQL синтаксис. Не уверен, что для доступа нужны дополнительные скобки ...

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; 
+0

Я думаю, что это будет такой же –

+0

@GiorgiNakeuri, возможно, трудно понять, без каких-либо образцов данных ... – jarlh

+0

Спасибо за быстрый ответ! Конечно, acces дает проблемы для этого. Это дает мне следующую ошибку: 'Отсутствует оператор в выражении: s.spelernr = s1.spelernr LEFT JOIN club c ON s.clubnr = c.clubnr' – TimB

0

Ваша непосредственная проблема может быть решена путем удаления IIF в предложении SELECT. Например.

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; 
Смежные вопросы