Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie Select
xfighter
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 30.05.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


z palca i pewnie bzdury ale zarys masz (IMG:style_emoticons/default/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
Go to the top of the page
+Quote Post
xfighter
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 30.05.2012

Ostrzeżenie: (0%)
-----


Cytat(Pyton_000 @ 5.01.2015, 10:20:22 ) *
z palca i pewnie bzdury ale zarys masz (IMG:style_emoticons/default/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
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A tak?
  1. GROUP BY a.marka HAVING COUNT(DISTINCT k.id_klienta)=2
Go to the top of the page
+Quote Post
xfighter
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 30.05.2012

Ostrzeżenie: (0%)
-----


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ś?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:48