webForumDet fria alternativet

Joina flera tabeller

5 svar · 243 visningar · startad av andreas_lindh

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#1

jag har en tabell matchprotokoll_handelser som ser ut så här

Id - räknare
Match_id - tal
Lag_id - tal
spelar_id -tal
Handelse - tal

Nu skulle jag vilja joina lag_id med id i en tabell som heter deltagande_lag.
Joina spelar_id med id i tabellen matchprotokoll_spelare.
Joina handelse med id i tabellen handelse_koder.

Går detta att göra och i så fall. Hur ska frågan se ut?

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select kolumnLista 
from matchprotokoll_handelser mph,  deltagande_lag dl,
matchprotokoll_spelare mps, handelse_koder hk
where mph.lag_id = dl.id
and mph.spelar_id = mps.id
and mph.handlese = hk.id
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#3

Om jag sen vill hämta fler fält från tex matchprotokoll spelare.
Hur skriver jag det?

juventus1Medlem sedan dec. 2000399 inlägg
#4

Ersätt kolumnLista med något lämpligt. T ex

select mps.kolumn1, mps.kolumn2 from ....
andreas_lindhMedlem sedan jan. 20011 140 inlägg
#5

Jag har lite problem med att få dett att fungera. Även fast det bara finns en post i matchprotokoll_handelser skrivs det ut över 20 poster

"SELECT mps.namn as snamn,mps.nummer,mph.minuter,hk.namn as handelse,mph.tid, dl.namn as lnamn 
FROM matchprotokoll_handelser AS mph, trupper as tr, deltagande_lag AS dl, matchprotokoll_spelare AS mps, handelse_koder AS hk 
WHERE mph.lag_id=dl.id And mph.spelar_id=mps.spelar_id And mph.handelse=hk.id And mph.match_id=9"
LarsGMedlem sedan dec. 200012 464 inlägg
#6

Det beror på vad som finns i de andra tabellerna.

En join innebär ju att du får alla kombinationer från alla tabeller så om du har 5 matchande poster i en tabell och 4 i en annan så kommer slutresultatet att innehålla 20 poster.

124 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)