Kwerenda wybierające w MS Access

0

Nie znalazłem jakiegoś specjalnego działu Newbie dla baz danych, zakładam więc, że jest tylko jeden. Jeżeli w złym miejscu piszę to proszę o przeniesienie.

Mam dwie tabele:

Kandydaci
idosoby imie nazwisko

Zgloszenia
idosoby kierunek

Np.:
k001 fizyka
k001 informatyka
k002 informatyka
k003 zarządzanie
k003 informatyka

Potrzebuję kwerendy która wypisze imię i nazwisko osób, które wybrały 5 kierunków. Oto co udało mi się stworzyć:

SELECT Kandydaci.imie, Kandydaci.nazwisko
FROM Kandydaci LEFT JOIN Zgloszenia ON Kandydaci.idosoby = Zgloszenia.idosoby
WHERE Count(Zgloszenia.idosoby)=5;

Dostaję błąd, że w klauzuli WHERE nie można umieścić funkcji agregującej. Pewnie tak jest więc proszę o inne rozwiązanie problemu.

0

Tak, ale nie:

SELECT Kandydaci.imie, Kandydaci.nazwisko
FROM Kandydaci LEFT JOIN Zgloszenia ON Kandydaci.idosoby = Zgloszenia.idosoby
HAVING Count(Zgloszenia.idosoby)=5;

Próba wykonania kwerendy, która nie zawiera podanego wyrażenia 'imie' jako elementu funkcji agregującej.

EDIT:
Już mam.

SELECT Kandydaci.idosoby, Kandydaci.imie, Kandydaci.nazwisko
FROM Kandydaci LEFT JOIN Zgloszenia ON Kandydaci.idosoby = Zgloszenia.idosoby
GROUP BY Kandydaci.idosoby,imie,nazwisko
HAVING Count(Zgloszenia.idosoby)=5;

EDIT2:
Jeszcze mała prośba o sprawdzenie czy ta kwerenda jest poprawna. Z tabeli Kandydaci chcę policzyć średnią kolumny matematyka osób, które wybrały kierunek "fizyka".

SELECT kierunek AS wybrany_przedmiot, Round(Avg(matematyka),2) AS Srednia_z_matematyki
FROM Kandydaci LEFT JOIN Zgloszenia ON Kandydaci.idosoby = Zgloszenia.idosoby
WHERE Zgloszenia.kierunek="fizyka"
GROUP BY kierunek;

1 użytkowników online, w tym zalogowanych: 0, gości: 1