Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Zapytanie z dwóch tabel
gawar
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


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





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


poczytaj o:
- join
- order by

to powinno wystarczyć do napisania odpowiedniego zapytania
Go to the top of the page
+Quote Post
gawar
post
Post #3





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 26.10.2010

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


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:)
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


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





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


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

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

 



RSS Aktualny czas: 20.08.2025 - 13:19