inespew
26.11.2010, 08:55:50
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
26.11.2010, 09:33:15
SELECT trener.*, specjalnosc.*
FROM trener
LEFT JOIN trener_specialnosc ON trener.tr_id = trener_specialnosc.tr_id
LEFT JOIN specialnosc ON specialnosc.spec_id = trener_specialnosc.spec_id
* pisane z palca więc na głupa nie kopiuj.
inespew
26.11.2010, 10:19:50
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
26.11.2010, 10:24:05
ktore tabele chcesz polaczyc? bo masz 3 tabele nie 2
inespew
26.11.2010, 10:29:59
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
26.11.2010, 10:37:44
select * from specjalnosc a join
trener_specjalnosc b on
a.spec_id=b.spec_id
inespew
26.11.2010, 11:54:13
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.