Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Mysql JOIN
Forum PHP.pl > Forum > Przedszkole
inespew
Witam

Mam dwie tabele

pierwsza: 'trener' jest w niej dużo pól, ale powiedzmy ze wystarczy tr_id, tr_imie, tr_nazwisko
druga: 'specjalnosc' i pola spec_id i specjalnosc
trzecia: 'trener_specjalnosc' i pola tr_id i spec_id

Chciałbym dokonać złączenia w zapytaniu mysql i nie bardzo wiem jak sie za to zabrać.

np
'trener'
[tr_id][tr_imie][tr_nazwisko]
[1][Jan][Kowalski]

'specjalnosc'
[spec_id][specjalnosc]
[1][programowanie]
[2][sieci]
[3][spawanie]
[4][nurkowanie]
[5][prawo]

'trener_specjalnosc'
[tr_id][spec_id]
[1][1]
[1][2]
[1][5]

Proszę o pomoc

Pozdraiwam
skowron-line
  1. SELECT trener.*, specjalnosc.*
  2. FROM trener
  3. LEFT JOIN trener_specialnosc ON trener.tr_id = trener_specialnosc.tr_id
  4. LEFT JOIN specialnosc ON specialnosc.spec_id = trener_specialnosc.spec_id


* pisane z palca więc na głupa nie kopiuj.
inespew
Trochę mi to rozjaśniło, ale chyba nie do końca dobrze działa.
Dostaję z formularza do skryptu zmienną $spectrener która odpowiada zaznaczonej opcji z tabeli 'specjalnosc' polu spec_id.

I jeśli ktoś w formularzu zaznaczy np [programowanie] dostanę z bazy tr_id z tabeli 'trener' który daną specjalnosc posiada
poli25
ktore tabele chcesz polaczyc? bo masz 3 tabele nie 2
inespew
W sumie nie wiem które, jak napisałem wyżej z tabeli 'specjalnosc' dostaję 'spec_id', dalej chciałbym sprawdzić gdzie to 'spec_id' występuje w tabeli 'trener_specjalnosc' a następinie wydobyć z niej 'tr_id' trenerów którzy daną specjalnosc posiadają
poli25
select * from specjalnosc a join
trener_specjalnosc b on
a.spec_id=b.spec_id
inespew
ok, wtedy dostanę tablicę z tr_id który spełniają zapytanie. I jak dale to połączyć z tabelą 'trener'??
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.