Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Znowu łączenie tabel
Forum PHP.pl > Forum > Bazy danych
bostaf
Witam,

Proszę o pomoc w skonstruowaniu zapytania.
Mam dwie tabele: tab1, tab2.

tab1:
Kod
id| opis
--+--------
1 | aa
2 | bb
3 | cc


tab2:
Kod
id|id_tab1| nazwa
--+-------+--------
1 |   1   | eee
2 |   3   | fff
3 |   3   | ggg
4 |   3   | hhh
5 |   1   | iii
6 |   1   | jjj
8 |   3   | kkk


Chcę uzyskać takie zestawienie:
Kod
opis | nazwa
-----+-------
aa   | jjj
bb   | NULL
cc   | kkk


czyli, listing wszystkich rekordów z tabeli tab1, uzupełniony o pole `nazwa` z tabeli tab2. Pole `nazwa` ma być pobrane dla rekordu o maksymalnym id.
To pewnie banalnie proste a ja mam jakiś zator myślowy - zdarza się co jakiś czas smile.gif

Dziękuję za pomoc.
wookieb
Człowieku TEMAT
Człowieku z kursu uciekł?
Człowieku http://dev.mysql.com/doc/refman/5.0/en/join.html
Człowieku google -> mysql kurs
bostaf
Cytat(wookieb @ 25.05.2010, 10:38:15 ) *
Człowieku TEMAT


Już jest smile.gif

Cytat(wookieb @ 25.05.2010, 10:38:15 ) *
Człowieku z kursu uciekł?
Człowieku http://dev.mysql.com/doc/refman/5.0/en/join.html
Człowieku google -> mysql kurs


Taaaaa. Mam najnowszego manuala na kompie, z google też umiem korzystać. Zanim napisałem prośbę o pomoc, to zrobiłem kilkadziesiąt prób, kombinując na wszystkie strony z JOIN (lefty, righty, outery, straighty, innery, crossy, ...) i zagnieżdżonymi zapytaniami. Nie udało mi się (rzadko mi się nie udaje, nie pamiętam kiedy ostatnio mi się nie udało), dlatego podejrzewam, że próbuje przekombinować i nie widzę prostego rozwiązania, które mam pod nosem. Mógłbym odpocząć i jutro się za to zabrać, ale może szybciej będzie w ten sposób smile.gif
phpion
To może pokaż jak kombinowałeś, bo to akurat jest najprostszy z możliwych JOINów.
bostaf
Omg, to rzeczywiście była prościzna.
  1. SELECT tab1.opis, tab2.nazwa
  2. FROM tab1
  3. LEFT JOIN tab2 ON (
  4. tab2.id_tab1 = tab1.id
  5. AND tab2.id = (
  6. SELECT max(tab2.id) FROM tab2 WHERE tab2.id_tab1 = tab1.id
  7. )
  8. )

Jak zwykle, w gąszczu prób, pogubiłem elementy składni 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.