Witam,
Mam takie zadania do wykonania:
a. Wyświetl wszystkie dane na temat klienta, który wypożyczył samochód na najdłuższy okres czasu oraz termin, na jaki samochód został wypożyczony.
b. Wyświetl imiona, nazwiska, numery dowodów klientów oraz daty wypożyczeń i zwrotów przez nich samochodów, dla klientów, którzy wypożyczyli i oddali samochody w okresie, pomiędzy wypożyczeniem przez klienta LIPKA JAKUB pierwszego samochodu a oddaniem przez niego ostatniego z wypożyczanych samochodów. Dane klienta LIPKA JAKUB mają nie być wyświetlone.
Tabele ( od góry: klienci, wypozyczenia ):
https://zapodaj.net/images/8ec367a2e6061.jpg
Zapytanie a:
select * from klienci where id_kli in
( select id_kli from wypozyczenia where data_zwr - data_wyp =
( select max( data_zwr - data_wyp ) from wypozyczenia ) );
Nie wiem jak wstawić alias do nazwania terminu, czyli różnicy pomiędzy data_wyp i data_zwr - w ogóle nie dam rady tej wartości wyświetlić.
Zapytanie b:
Na tą chwilę mam pytanie: czy trzeba tu stosować joiny czy wystarczą same podzapytania + czy mogę zastosować podzapytanie np. w tym momencie ->
select k.nazwisko, k.imie, k.nr_dowodu, w.data_wyp, w.data_zwr from klienci k natural join wypozyczenia w where id_kli in
( select id_kli from wypozyczenia where data_wyp between
czyli po between... ?