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
Databaser & SQLur Databashanterare & SQL
3 svar · 185 visningar · startad av Obbelix
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!
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
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...