Zapytanie do złączenia 2 tabel

0

Witam,

Mam 2 tabele:
samochody [ident,nr_rejestracyjny]
naprawy [id_samochod,usluga,data]
usluga = (1,2,3)
1 – była robiona naprawa
2 - był robiony przegląd
3 – był robiony przegląd okresowy

W zapytaniu chciałbym otrzymać wynik w którym będą wszystkie samochody w których nie było robionego żadnego przeglądu czyli naprawy.usluga <>2 and naprawy.usluga <>3.
Napisałem tak:

SELECT nr_rejestracyjny FROM samochody INNER JOIN naprawy on samochody.ident = naprawy.id_samochod
where naprawy.usluga <>2 and naprawy.usluga <>3

Ale zwraca mi wszystkie po kilka takich samych samochodów (w zależności od tego ile było napraw)
Jak poprawić zapytanie żeby numer każdego samochodu pojawił się tylko raz bez względu na ilość napraw ?

0

Pewnie SELECT DISTINCT

0

Select * from samochody where id_samochod not in (select id_samochody from naprawy where usługa on (2,3))

0

Dzięki,
Powinno być chyba "where usługa in (2,3)", w każdym razie zmieniłem i działa.
Jest tylko jeden problem działa bardzo wolno (wynik dla kilkuset rekordów po 5 min.) a jak jeszcze ktoś pracuje na bazie to zawiesza program.

0

Tak, tak powinno być. Komórka poprawiła :)
Co do szybkości. Dodaj index na usluga w tabeli naprawy

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