Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanie z dwóch tabel
Forum PHP.pl > Forum > Przedszkole
gawar
Witam, mam problem z zapytaniem. Mam dwie tabele, jedna to łączna w której mam jakieś tam pola + id_osoby i id_auta, w drugiej tabeli mam kilka pól + id_auta. Dla jednego id_osoby może być przypisanych kilka id_auta. Ale w SELECT chciałbym otrzymać dla id_osoby tylko jedno id_auta, te które było do niej jako ostatnio przypisane. Jak rozwiązać taki problem? Z góry dziękuję za odpowiedź i pozdrawiam!
CuteOne
poczytaj o:
- join
- order by

to powinno wystarczyć do napisania odpowiedniego zapytania
gawar
Hmm, mi jakoś tak nie wychodzi. Mam zapytanie
  1. SELECT k.id_osoby, k.id_auta, o.data_odn
  2. FROM t_k_odn_dys k LEFT JOIN t_odnowienie o ON o.id_auta=k.id_auta
  3. ORDER BY k.id_osoby

co bym musiał dodać jeżeli mam takie dane w tabeli k:
id_osoby | id_auta
1 | 1
1 | 2
1 | 3
2 | 4
tabela o
id_auta | data_odn
1 | 2012-02-02
2 |2012-03-02
3 |2012-03-15
4 |2012-01-02
Chciałbym żeby SELECT pokazał cos takiego
id_osoby | id_auta | date_odn
1 | 3 | 2012-03-15
2 | 4 | 2012-01-02
Z góry dziękuję za pomoc:)
CuteOne
1. Dodaj LIMIT
2. ORDER BY data_odn
3. jak nie zadziała dodaj GROUP BY (nie wiem czy w tym wypadku pomoże ;p)
4. spróbuj też z distinctem
mmmmmmm
  1. SELECT k.id_osoby, k.id_auta, o.data_odn
  2. FROM (SELECT id_osoby, Max(id_auta) id_auta FROM t_k_odn_dys GROUP BY id_osoby) k LEFT JOIN t_odnowienie o ON o.id_auta=k.id_auta
  3. ORDER BY k.id_osoby
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.