webForumDet fria alternativet

Problem med Join

3 svar · 185 visningar · startad av Obbelix

ObbelixMedlem sedan okt. 2002257 inlägg
#1

Hej!

Har STORA problem med en sql sats med join.

Har två tabeller:

Lag
[id] - räknare
[lagnamn] - text

Matcher
[id] - räknare
[serie_id] - tal
[lag1] - tal
[lag2] - tal
[mal_lag1] - tal
[mal_lag2] - tal
[sudden] - ja/nej
[straffar] - ja/nej
[omgang] - tal

Denna sql sats kör jag nu:

SQL = "SELECT * FROM Matcher WHERE serie_id = " & request.QueryString("id") & " ORDER BY omgang ASC"

Med den får jag fram det jag vill, UTOM att lag1 och lag2 blir tal. Detta vill jag ju byta ut mot lagnamnet som hör till det tal jag får fram.

Alltså... det jag vill är att få fram namnen på lag 1 & 2 från tabellen lag.

Nån som förstår?? Hoppas det, för det är knappt så att jag hänger med....

Tack på förhand!

Engine^Medlem sedan dec. 20003 887 inlägg
#2

Såhär möjligtvis.

SELECT tblM.*, lagnamn
FROM Matcher tblM
INNER JOIN Lag tblL
  ON (tblL.id = tblM.lag1 OR tblL.id = tblM.lag2)
WHERE serie_id = [i]xxx[/i]
ORDER BY omgang
agneta_rungMedlem sedan juli 2002145 inlägg
#3

Nja, du måste joina in tabellen lag en gång för varje lag. Så här:

"SELECT m.*, l1.lagnamn, l2.lagnamn
FROM matcher m, lag l1, lag l2
WHERE m.lag1 = l1.id AND m.lag2 = l2.id 
  AND serie_id = " & request.QueryString("id") & 
  " ORDER BY omgang ASC"

Vill du ha in lagnamnen på talens plats och inte på slutet får du rabbla upp alla kolumnnamn...

ObbelixMedlem sedan okt. 2002257 inlägg
#4

Tackar!

Funkar finfint.

//

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