Hej mina vänner Du får nog visa lite data också för att vi skall kunna klura ut detta. Förlåt en ren amatör. Men "visa lite data". Vad menar du då? Min databas t.ex.? Den frågan tar TOP 2 av poängen för SerieID 1, 2 och 3 (utan att "gruppera" på serieid). Det enklaste är nog att köra en fråga för varje serie. Denna koden skriver först ut de två högsta poängen. Sedan skriver den ut poängen för samma två användare. Så utskriften består bara av två UserID, och deras poäng. Vad gör jag för fel?Problem med SELECT TOP 2
Någon som kan hjälpa mig med mitt problem?
Om du tittar på min kod så vill jag skriva ut ettan o tvåan från resp. SerieID. Men det enda som skrivs ut är ettan o tvåan från det sista SerieID, dvs SerieID 3. Vad har jag gjort fel?
Här är min kod.
MVH en frågande vän
<%
Call dbConnect()
Select Case Request.QueryString ("SerieID")
Case "23": Serie = "FINALFÄLTET"
SQL = "SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 1 OR SerieID = 2 OR SerieID = 3 ORDER BY TotalPoints DESC"
Set rsFinal=Connect.Execute(SQL)
Response.Write "Detta är "&Serie&"...dit dom två bästa från respektive serie har kvalificerat sig.<p>"
End Select
If rsFinal.EOF Then
Response.Write"Ingen tabell finns för denna liga än"
Else
arrRows = rsFinal.GetRows()
' Kollar antal kolumner, startar på 0
intCols = uBound(arrRows,1)
' Kollar antal rader, startar på 0
intRows = uBound(arrRows,2)
Response.Write("<table border=""0"" width=""610"" cellspacing=""0"" cellpadding=""0"" class=""table6""><tr><td class=""borderbottom_2"" width=""30"" align=""center"">P</td>")
Response.Write("<td class=""borderbottom_2"" width=""180"" align=""left"">Namn</td>")
Response.Write("<td class=""borderbottom_2"" width=""110"" align=""center"">Stad</td>")
Response.Write("<td class=""borderbottom_2"" width=""90"" align=""center"">Tippade</td>")
Response.Write("<td class=""borderbottom_2"" width=""80"" align=""center"">Poäng</td>")
Response.Write("<td class=""borderbottom_2"" width=""120"" align=""center"">Serie</td></tr>")
For cRows = 0 to intRows
If Farg = "<tr class=""Tabellrader1"">" Then
Farg = "<tr class=""Tabellrader2"">"
Else
Farg = "<tr class=""Tabellrader1"">"
End If
Response.Write ""&Farg&"<td width=""30"" height=""30"" align=""center"">"& cRows + 1 &"</td>"&_
"<td width=""180"" height=""30"" align=""left"">"& arrRows(0, cRows) &" " &arrRows(1, cRows) &"</td>"&_
"<td width=""110"" height=""30"" align=""center"">"& arrRows(2, cRows) &"</td>"&_
"<td width=""90"" height=""30"" align=""center"">"& arrRows(3, cRows) &"</td>"&_
"<td width=""80"" height=""30"" align=""center"">"& arrRows(4, cRows) &"</td>"&_
"<td width=""120"" height=""30"" align=""center"">"& arrRows(5, cRows) &"</td></tr>"
Next
Response.write("</table>")
End If
Call dbDisConnect()
%>Sv: Problem med SELECT TOP 2
Sv:Problem med SELECT TOP 2
Sv: Problem med SELECT TOP 2
/JohanSv:Problem med SELECT TOP 2
SQL = "SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 1 " & _
"UNION " & _
"SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 2 " & _
"UNION " & _
"SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 3 " & _
"UNION " & _
"SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 4 " & _
"UNION " & _
"SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 6 " & _
"UNION " & _
"SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 10 " & _
"UNION " & _
"SELECT TOP 2 FirstName,LastName,Stad,AntalTippade,TotalPoints,Serie FROM qTabellLiga WHERE SerieID = 15 ORDER BY TotalPoints DESC "
Set rsFinal=Connect.Execute(SQL)