• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MS Access - problem z EXISTS i IN

0 głosów
620 wizyt
pytanie zadane 20 stycznia 2020 w SQL, bazy danych przez Whistleroosh Maniak (57,400 p.)

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?

1 odpowiedź

0 głosów
odpowiedź 20 stycznia 2020 przez SzkolnyAdmin Szeryf (90,290 p.)
Brak odpowiedniego typu sprzężenia pomiędzy tabelami. Otwórz relacje, kliknij na sprzężenie i zaznacz "Wymuszaj więzy integralności".

Podobne pytania

0 głosów
0 odpowiedzi 1,003 wizyt
0 głosów
0 odpowiedzi 2,533 wizyt
0 głosów
1 odpowiedź 722 wizyt
pytanie zadane 11 listopada 2016 w SQL, bazy danych przez kistel66 Początkujący (370 p.)

93,729 zapytań

142,668 odpowiedzi

323,283 komentarzy

63,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...