Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie tabel z sortowaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
kukimax
Witam mam taki problem, mam 2 tabele:

Tabela1
Id | nazwa
----------------------------------------
1 | jakas nazwa
2 | produkt


Tabela2:
Id_tab1 | kwota | data
----------------------------------------------------------------------------
1 | 100.00 | 0000-00-00 00:00:00
1 | 199.00 | 2011-01-17 11:53:45
2 | 123.53 | 2011-01-18 20:12:31
1 | 11.52 | 2011-01-21 10:42:29
2 | 246.00 | 2011-01-11 14:35:14

I chce żeby w 1 zapytaniu wyświetlił nazwę produktu z tabeli 1 oraz pobrał jaj nowszą kwotę z tabeli 2, tak żeby to wyglądało tak:

1 | jakas nazwa | 11.52
2 | produkt | 246.00

Z góry dziękuję za odpowiedź i pozdrawiam.
kalmaceta
INNER JOIN link
kukimax
Tyle to i ja wiem:

  1. SELECT tabela1.id, tabela1.nazwa, tabela2.kwota FROM `tabela1` INNER JOIN `tabela2` ON tabela1.id = tabela2.id_tab1 GROUP BY tabela1.id


To mi wyświetli pierwszą kwotę dodaną do bazy, a nie najnowszą
kalmaceta
nie napisałeś tego w pierwszym poście, problem w tym że nie ma porządku w drugiej tabeli dodaj pole id autoincrement i Zrób join nie z tabela2 tylko (SELECT * ROM tabela2 ORDE#R BY id DESC)
kukimax
  1. SELECT tabela1.id, tabela1.nazwa, (SELECT tabela2.kwota FROM `tabela2`WHERE tabela1.id = tabela2.id_tab1 ORDER BY tabela2.DATA DESC LIMIT 1) AS kwota FROM `tabela1` GROUP BY tabela1.id


Coś takiego zadziała ale jak będe chciał jeszcze wyświetlić kwoty np mniejsze od 100 czyli:

  1. SELECT tabela1.id, tabela1.nazwa, (SELECT tabela2.kwota FROM `tabela2`WHERE tabela1.id = tabela2.id_tab1 ORDER BY tabela2.DATA DESC LIMIT 1) AS kwota FROM `tabela1` WHERE kwota<100 GROUP BY tabela1.id


To będzie problem
kalmaceta
inner join miało być

  1. SELECT tab1.cos, tab2.cos FROM tab1 INNER JOIN (SELECT * FROM tabela2 ORDER ....) tab2 ON ....
thek
A o HAVING słyszał? smile.gif
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.