28. december 2001 - 17:56Der er
21 kommentarer og 1 løsning
SQL forespørgsel
Jeg har tidligere lagt et lignende spørgsmål ud, men det blev vist nok lidt misforstået. Derfor vil jeg prøve at være endnu mere konkret. Jeg har lavet et simpelt pointsystem, hvor der er en database med en tabel kaldet news. I den tabel er der bla. en point rubrik og en navn rubrik. Det jeg vil have hjælp til er, hvordan jeg udtrækker det navn ud som har samlet flest point? Eksempelvis hvis Kenneth har fået 5+15+10 point og Lenny har fået 5+15+10 point. Så skal den vise navnet på Kenneth. Dvs den skal summere antallet. - Select navn from news where max(point)..????? Jeg kan ikke få det til at virke. Er der nogen der har ideer så skriv venligst... Det er forresten en Access database
Top 1 skal være i to ord. Jeg får stadig ovenstående fejlmeddelelse. Jeg ved ikke om der er noget galt med mit udtræk af databasen så i får lige koden:
SQLStr = \"select navn,SUM(point) as s from news group by navn order by s desc\" Set RSDatabase = DATABASE.Execute(SQLStr) If RSDatabase.EOF Then %> Ingen point i databasen<% End If If Not RSDatabase.EOF Then s = RSDatabase(\"s\")
Besvarelsen fra steen_hansen lader ikke til at virke helt efter hensigten. Når jeg sætter koden ind udskriver den kun pointallet 10, selv om det end ikke er det højeste. Man kan få 5 - 10 - 15. Den summerer ikke.
Ok, var lidt sent på den. Fandt ellers frem til det her:
SELECT TOP 1 [navn].[Id], [navn].[Navn], [1]+[2]+[3] AS summen FROM navn ORDER BY [1]+[2]+[3] DESC;
Men godt nytår til alle!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.