Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dwie tablice - jedno zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
KR2615
Witam.
Posaidam bazę z dwoma tablicami:
- klienci o strukturze id, name, city (gdzie city to kod pocztowy miasta)
-platnosci o struturze id, kid, added (gdzie kid to id klient do ktorego ta platnosc nalezy)

Zapytaniem SELECT MAX(added) FROM platnosci WHERE kid='x' wybieram ostatnia platnosc klienta (ostatnio dodana/zmodyfikowana) Chcialbym teraz dowiedziec sie, kiedy w danym miescie zostala dodana ostatnia platnosc. Problem w tym, ze w tabeli platnosci, nie mam zapisanego kodu pocztowego miasta do ktorego platnosc nalezy a jedynie id klienta. Mam za duzo rekordow zeby zmieniac strukture bazy. Jakie zapytanie mam sformulowac do istniejacej bazy? Sorry ze pytam ale jesli chodzi o MySQLa jestem poczatkujacy
ylk
Nie rozumiem, dlaczego MAX(added) a nie MAX(id)? Po co Ci dodatkowe pole added?
A jeśli chodzi o zapytanie masz dwie możliwości: opcja z joinem i bez joina smile.gif
  1. SELECT p.*,k.city FROM platnosci p JOIN klient k ON p.kid=k.id AND (...)

  1. SELECT p.*,k.city FROM platnosci p, klient k WHERE p.kid=k.id AND (...)

KR2615
Ok, dzieki za podpowiedz. Udalo mi sie sformulowac takie zapytanie ktore zwraca zadowalajacy mnie wynik. Oto i one:
  1. SELECT p.*,k.city FROM platnosci p JOIN klienci k ON p.kid=k.id AND city=6 ORDER BY p.added DESC LIMIT 1
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.