Witam, mam taki fragment definicji bazy danych w PostgreSQL:
CREATE TABLE wyposazenie(
id_wyposazenia serial PRIMARY KEY,
nazwa char(30) not null
);
CREATE TABLE wyposazenie_samochodu(
wyposazenie_id serial PRIMARY KEY,
jakie_wyposaz integer REFERENCES wyposazenie ON DELETE RESTRICT ON
UPDATE CASCADE,
jakie_auto integer REFERENCES auto ON DELETE CASCADE ON
UPDATE CASCADE
);
w tabeli wyposażenie mam wszelkie możliwe wyposażenie samochodu np.:
1 abs
2 wspomaganie kierownicy
3 poduszki powietrzne
itd. itd.
a w tabeli wyposazenie_samochodu następujące dane, np.:
1 1 2
2 2 2
3 3 2
itd.
Problem polega na tym, że muszę wyświetlić te elementy z tabeli wyposażenie, które nie są przypisane do żadnego samochodu, tzn. nie występują jako powiązanie relacjami w tabeli wyposazenie_samochodu.
Wpisując zapytanie:
select distinct w.id_wyposazenia, w.nazwa from wyposazenie w, wyposazenie_samochodu s where not exists (select * from wyposazenie, wyposazenie_samochodu where w.id_wyposazenia <> s.jakie_wyposaz);
wypisuje mi te elementy, które są przypisane, ale nie mam w ogóle pomysłu na to, aby wyświetlić te nieprzypisane.
Jakieś wskazówki?