Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]Połączenie 3 tabel
Forum PHP.pl > Forum > Przedszkole
uli
Witam Forumowiczów!

Trochę kombinowałem, ale przyznam się szczerze że jeszcze do końca nie łapię połączeń tabel (swoją drogą, czy ktoś mógłby mi polecić dobrą książkę lub kurs on-line?).

Mam trzy tabele:

--- sprzet ---
id: INT <-PRIMARY
nazwa: VARCHAR(60)
...(jakieś inne pola)
...

--- stan ---
id_s: TINYINT <- PRIMARY
nazwa: VARCHAR(60)

--- historia ---
id_h: INT <- PRIMARY
id_sprzetu: INT
stan: TINYINT
... (jakieś inne pola)
...
...

Powiązania:
historia.stan = stan.id_s
historia.id_sprzetu = sprzet.id



Chciałbym posortować tabelę sprzęt po stan.nazwa, gdzie id_s to najwyższy id z tabeli historia.

Przykład:
--- sprzet ---
1, IBM T42
2, Toshiba

--- stan ---
1, magazyn
2, pracownik

--- historia ---
1, 1, 1
2, 1, 2
3, 2, 2
4, 2, 1

Dałoby poniższe:

2, Toshiba, magazyn
1, IBM T42, pracownik

Panie i Panowie pomóżcie! smile.gif

Z góry wielkie dzięki

Pozdrawiam
Uli

@MOD: Przez przypadek temat utworzyłem w 'php/przedszkole'. Prosiłbym o przeniesienie do 'Bazy danych/MySQL'. Przepraszam za kłopot.
koodlaty
  1. SELECT
  2. sprzet.id AS sprzet_id,
  3. stan.nazwa AS nazwa
  4. FROM sprzet LEFT OUTER JOIN historia
  5. ON
  6. sprzet.id = historia.id_sprzetu
  7. LEFT OUTER JOIN stan
  8. ON
  9. historia.stan = stan.id_s
  10. ORDER BY stan.nazwa

Moim skromnym zdaniem strukturę i nazewnictwo masz do d... smile.gif pozdro
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.