SQL podzapytanie NOT IN

0

Cześć,
mam dwie tabele: transakcje i dane_osobowe, w każdej z nich znajduje się pole id_klienta.
Moim zadaniem jest wybrać id_klientów którzy nie dokonali zakupów (ci których id nie widnieje w tabeli transakcje ale istnieje w tabeli dane_osobowe).
Próbowałem takiego zapytania:

SELECT id_klienta
FROM dane_osobowe 
WHERE id_klienta NOT IN (SELECT DISTINCT id_klienta FROM transakcje) 

ale wyrzuca mi za dużo wyników (ok. 600 zamiast 3. (podpunkt z próbnej matury 2015 => mam odpowiedzi.)).
Może da się to zrobić inaczej?
(Używam Microsoft Access 2007-2010)

0

na bazie Firebird zapytanie zwraca prawidłowy wynik

1

edit:

SELECT id_klienta FROM dane_osobowe
WHERE NOT EXISTS (SELECT 1 FROM transakcje WHERE dane_osobowe.id_klienta = transakcje.id_klienta)
0

edit:
Po zliczeniu ilości różnych od siebie id w obu tabelach wyszła różnica taka jaka wychodzi z twojego zapytania, wielkie dzięki za pomoc :).

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