Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie SQL -> JOIN i ostatnia wartość
Forum PHP.pl > Forum > Bazy danych > MySQL
Ciubas
Witam,

mam taki problem, mam takie zapytanie SQL:

  1. SELECT *,k.id_wla AS id_wla_f,k.nazwa AS nazwa_f,k.telefon AS telefon_f,k.mail AS mail_f,k.uwagi AS uwagi_f,k.miasto AS miasto_f,k.kod AS kod_f,k.ulica AS ulica_f
  2. FROM baza_sklepy_wla AS k
  3. LEFT JOIN baza_sklepy AS s ON k.id_wla=s.id_wla
  4. JOIN baza_sklepy_fvat AS f ON k.id_wla = f.id_wla
  5. GROUP BY k.nazwa,s.id
  6. ORDER BY k.nazwa,f.id_fvat
  7.  


Poglądowy wynik:

  1. id_wla nazwa kod miasto ulica nip os_k telefon mail kasa zaplacono termin data inne uwagi id nazwa nazwa_cd ulica kod miasto mapa czynne nfz sprzet dowoz telefon woj www info pub id_wla id_fvat id_wla id_firmy numer data wystawca uwagi id_wla_f nazwa_f telefon_f mail_f uwagi_f miasto_f kod_f ulica_f
  2. 3 ABC- CHOREGO 42-200 Częstochowa ul. Warszawska 13 573-002-34-47 wlasciciel V telefon mail@abcchorego.pl 73.20 1 2010-06-29 2010-04-19 numer 4 ABC-CHOREGO ul. Warszawska 13 42-200 Częstochowa mapa od pon. do pt.: 9.00 - 17.00, sob.: 9.00 ? 14.00 n Convatec n 34 324 73 01 Śląskie 1 3 8 3 7 7 2009-03-18 wystwca 3 ABC- CHOREGO (34) 324 73 01 biuro@abcchorego.pl uwagi Częstochowa 42-200 ul. Warszawska 13
  3.  


Chodzi mi o to, że id_fvat podaje mi pierwsze jakie jest w bazie z danej firmy, a chciałbym aby podawał mi ostatnie (najnowsze).

Czy jest możliwość tego zrobienia, gdzie szukać rozwiązani?
Mchl
Kod
ORDER BY k.nazwa,f.id_fvat DESC
?
Ciubas
to posortuje mi po wybranych najwyższych id_fvat -> tylko problem jest taki, że dla danej firmy nie jest to najwyższy id tylko ze wszystkich pierwszych...

innymi słowy muszę pobrać dopiero te dane o najwyższym id_fvat a nie sortować z tego co mam.
Mchl
Hmm...
To może zamiast
Kod
JOIN baza_sklepy_fvat AS f ON k.id_wla = f.id_wla


zrób

Kod
INNER JOIN (
  SELECT t.* FROM baza_sklepy_fvat AS t CROSS JOIN (SELECT id_wla, MAX(f.id_fvat) AS id_fvat FROM baza_sklepy_fvat GROUP BY id_wla) AS sq USING (if_fvat, id_wla)
) AS f ON k.id_wla = f.id_wla
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.