Jag håller på att skapa en liten tävling till vårt intranät, själva tävlingen består av 10st frågor med olika alternativ, detta fungerar bra, men nu behöver jag plocka ur "vinnaren" eller "vinnarna"... vilket blir problem, vet inte hur jag skall börja...
Ex.
Omgång 1:
Lisa och Kalle vinner på 10p,
Nisse kommer tvåa på 9p.
Omgång 2:
Lasse vinner på 8p, Lisa trea på 7p.
(Det är alltså högst poäng som vinner...)
Hur plockar jag ut vinnarna ur databasen?
Vinnarna från varje "omgång" sparas sedan om i en ny tabell för endast vinnare...
Någon som kan ge mig lite tips? :)
Redigerat:
Databasen som innehåller alla tävlande ser ut så här:
ID / Räknare
Name / PM
Points / Text
(om det är till någon nytta. ;) )
Hmm.. om jag nu vill slumpa ut en av vinnarna, hur skall jag då gå till väga?
Min kod ser i förenklad form ut så här:
SQL = "SELECT * FROM Users WHERE uPoints IN (SELECT TOP 1 uPoints FROM Users ORDER BY uPoints DESC)"
Set RecSet = Connect.Execute(SQL)
If RecSet.EOF Then
Response.Write "Ingen vinnare denna månad..."
RecSet.Close
Connect.Close
Else
Do Until RecSet.EOF
Response.Write " "& RecSet("uPoints") &"p - "& RecSet("uNamn") &"<br>"
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
End If
När jag försöker räkna antal poster som har högst poäng så får jag ett felmeddelande:
Microsoft JET Database Engine (0x80040E14)
SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda.
/MZReklam/tevling/admin.asp, line 255
Rad 255:
SQL = "SELECT Count(*) AS rsPosts WHERE uPoints IN (SELECT TOP 1 uPoints FROM Users)"
Utskriven SQL:
SELECT Count(*) AS rsPosts WHERE uPoints IN (SELECT TOP 1 uPoints FROM Users)