Ostatnio bawiłem się trochę MS Access'em i postanowiłem zrobić pewne zadanie. Stworzyłem dwie kwerendy, pierwsza(zdjęcie nr 1) o nazwie zad_4a, zlicza ilość miejscowości danego typu(z wyjątkiem miast) w każdej z gmin w województwie pomorskim, a druga o nazwie zad_4b(zdjęcie nr 2) wypisuje gminy w województwie pomorskim, w którym jest tylko jedno miasto. I teraz chcę wypisać wszystkie gminy, które pojawiły się w wynikach kwerendy zad_4b, ale jednocześnie nie pojawiły się w wynikach kwerendy zad_4a.
Napisałem coś takiego:
SELECT Gminy.id_gminy
FROM Gminy, zad_4b, zad_4a
WHERE (Gminy.id_gminy) In ([zad_4b].[id_gminy]) And (Gminy.id_gminy) Not In ([zad_4a].[id_gminy])
I to pokazuje mi to samo co było w zad_4b, tylko zduplikowane wiele razy.
Postanowiłem więc napisać coś prostszego, czyli pokazać tylko gminy, które pojawiły się w zad_4b, no to mam coś takiego:
SELECT Gminy.id_gminy
FROM Gminy
WHERE EXISTS (SELECT 1 FROM zad_4b WHERE Gminy.id_gminy = zad_4b.id_gminy);
To zwraca mi dosłownie wszystkie gminy z tabeli Gminy
Mógłby mi ktoś wyjaśnić co robię nie tak?