jag har aldrig använt Inner Join innan och har just fått sagt till mig att det är vad ja ska använda för att få resultatet jag vill.
Kan även tänka mej att det går att lägga allt i en array och sortera sen vilket jag heller aldrig har pysslat med.
, så jag uppskattar all hjälp ja kan få :)
Jag har knapprat ihop en massa kod som gör det ja vill men sorterar det inte. Den ser ut såhär :)
<%
SQL = "Select * From korplag where division = '"& request("division") &"'"
set rs = ConnObj.Execute(SQL)
do until rs.eof
SQL2 = "Select * From korpresultat where lag1 = '"& rs("lag") & "' OR lag2 = '"& rs("lag") & "'"
set rs2 = ConnObj.Execute(SQL2)
if rs2("lag1") = rs("lag") then
laget = rs2("reslag1")
laget2 = rs2("reslag2")
else
laget = rs2("reslag2")
laget2 = rs2("reslag1")
end if
antal =0
diff =0
poang =0
do until rs2.eof
select case laget
case "0"
diff = diff-12
case "1"
diff = diff-10
case "2"
diff = diff-8
case "3"
diff = diff-6
case "4"
diff = diff-4
case "5"
diff = diff-2
case "6"
diff = diff
case "7"
diff = diff+2
case "8"
diff = diff+4
case "9"
diff = diff+6
case "10"
diff = diff+8
case "11"
diff = diff+10
case "12"
diff = diff+12
end select
antal = antal+1
if laget > laget2 then
poang = poang+2
elseif laget < laget2 then
poang = poang
else
poang = poang+1
end if
rs2.MoveNext
Loop
response.write rs("lag") & " - " & antal & " - " & diff & " - " & poang & "<br>"
rs.MoveNext
Loop
ConnObj.Close
%>
Möjligtvis är det en mycket korkad kod.. men det är för att ja inte vet bättre :)
Nu skriver den iaf ut rätt antal spelade matcher, diff och poäng vid respektive lag.. nu skall den bara sorteras så det lag med högst poäng ligger överst (givetvis). /r och sedan den med högst diff
Jag använder mej av en Access 2000 databas kanske jag ska säga oxå.
Det kanske underlättar om du skapar följande fråga som du sedan gör ytterligare frågor på:
SELECT
Korplag.Lag,
Korpresultat.Datum,
Korpresultat.ResLag1 AS TeamScore,
Korpresultat.ResLag2 AS OpponentScore,
TeamScore - OpponentScore AS DiffScore,
iif(DiffScore > 0, 2, iif(DiffScore < 0, -2, 0)) AS Poäng
FROM
Korplag INNER JOIN Korpresultat ON Korplag.Lag = Korpresultat.Lag1
UNION ALL SELECT
Korplag.Lag,
Korpresultat.Datum,
Korpresultat.ResLag2 AS TeamScore,
Korpresultat.ResLag1 AS OpponentScore,
TeamScore - OpponentScore AS DiffScore,
iif(DiffScore > 0, 2, iif(DiffScore < 0, -2, 0)) AS Poäng
FROM
Korplag INNER JOIN Korpresultat ON Korplag.Lag = Korpresultat.Lag2
ORDER BY Lag, Datum DESC;