Chciałbym napisać zapytanie pobierające dane z dwóch tabel bazy danych obsługującej wypożyczalnie samochodów.
Pierwsza (Samochod)zawiera dane na temat samochodów: id, marka, model, rocznik, data_zakupu
Druga (Wypozyczenia)zawiera dane na temat wypożyczeń: id, id_samochod, data_wyp, data_zwrot, id_klient.
Zapytanie ma wyświetlić listę samochodów zakupionych po określonej dacie (data_zakupu) oraz datę pierwszego wypożyczenia każdego z nich np.:
12716254(id); Ford(marka); Fiesta(model) ; 01-01-2015(data_zakupu); 01-02-2105(data_wyp)(pierwsze wypożyczenie)
Zacząłem od warunku na pierwsze wypożyczenie:
select MIN(data_wyp) from Wypozyczenia
Zwraca mi najwcześniejszą datę wypożyczenia ale z pośród wszystkich samochodów.
Próbuje połączyć tabele:
SELECT id,marka,model FROM Samochod as s where s.id = (SELECT MIN(data_wyp) from Wypozyczenia as w where s.id = w.id_samochod)
ale zwraca mi tylko jedna pozycję , chyba zupełnie przypadkową.
a gdy dodam warunek daty zakupu:
SELECT id,marka,model FROM Samochod as s where s.id = (SELECT MIN(data_wyp) from Wypozyczenia as w where s.id = w.id_samochod) and s.data_zakupu >'01-01-2017'
to nie zwraca nic.
Co muszę poprawić w zapytaniu ?