Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie Select
Forum PHP.pl > Forum > Bazy danych > MySQL
xfighter
Witam.

Mam takie tabele w bazie:
Auta(id_auta, marka, cena)
Klienci(id_klienta, imie, nazwisko)
Wynajecia(id_klienta, id_auta,data_wyp,data_odd)

Pytanie jak skonstruować zapytanie do bazy aby w wyniku dostać auto, które wypożyczył zarówno np Kowalski jak i Nowak.

Pozdrawiam
Pyton_000
z palca i pewnie bzdury ale zarys masz wink.gif
  1. SELECT a.marka FROM Wynajem w JOIN Klienci k USING(id_klienta) JOIN Auta a USING(id_auta)
  2. WHERE nazwisko = 'Kowalski' OR nazwisko = 'Nowak' GROUP BY id_auta
xfighter
Cytat(Pyton_000 @ 5.01.2015, 10:20:22 ) *
z palca i pewnie bzdury ale zarys masz wink.gif
  1. SELECT a.marka FROM Wynajem w JOIN Klienci k USING(id_klienta) JOIN Auta a USING(id_auta)
  2. WHERE nazwisko = 'Kowalski' OR nazwisko = 'Nowak' GROUP BY id_auta


Też tak probowałem ale to pokaże mi wszystkie auta które wynajęli Kowalski i Nowak.
Chodzi mi o to, że ma pokazać auto które wynajął i Kowalski i Nowak.
Np BMW wynajął i Nowak i Kowalski, a oprócz tego Kowalski wynajął jeszcze OPLA a Nowak VW.
Zapytanie powyżej pokaże wszytkie auta czyli: BMW, OPEL i VW a ma pokazać tylko BMW
trueblue
A tak?
  1. GROUP BY a.marka HAVING COUNT(DISTINCT k.id_klienta)=2
xfighter
Cytat(trueblue @ 5.01.2015, 11:12:36 ) *
A tak?
  1. GROUP BY a.marka HAVING COUNT(DISTINCT k.id_klienta)=2


Tak działa:) a to jedyny sposób czy jest jeszcze jakiś?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.