Har snubblat över ett litet problem. Jag har två tabeller i en vanlig access databas, dels en tabell som heter LAG och bla innehåller lag_id och lag_namn. Sedan har jag en tabell som heter SPELARE, där det finns spelare_id, lag_id, spelar_namn och spelar_betyg (tal). Hej! Tack så mycket Thomas. Din lilla kodsnutt funkade perfekt. Ett stort tack till dig, som trots en något luddig förklaring, lyckades hjälpa mig :) Räkna och sedan sortera
Det jag försöker åstakomma är en sortering av alla lagen (30 stycken), baserade på spelarnas betyg delat med antalet spelare för varje lag. Jag räknar ihop totalbetygen för varje lags spelare genom att köra en SELECT SUM för spelar_betyg.
<code>SELECT SUM(spelar_betyg) AS betyg FROM spelare WHERE lag_id = '"& RecSet("lag_id")</code>
Vilket fungerar fint. Även koden där jag räknar ihop antalet spelare för varje lag, fungerar fint. Men eftersom det är 30 olika lag, så kör jag SQL satserna i en loop. Och det är där jag kört fast. Hur skall jag kunna sortera alla lagen ifrån tabellen LAG? Med resultatet jag får för varje ihop räkning utav betygen / antalet spelare. Och är ganska säker på att det finns bättre lösningar än mitt lilla försök.
Kanske är lite luddigt förklarat. Men det jag försöker uppnå är alltså en sortering av dom 30 lagen, efter totalbetygen för respektive lags spelare, delat med antalet spelare för varje lag. Sv: Räkna och sedan sortera
Ska vi se om jag förstått dig rätt...
<code>SELECT LAG.lag_namn, Avg(SPELARE.spelar_betyg) AS lag_betyg FROM LAG INNER JOIN SPELARE ON LAG.lag_id = SPELARE.lag_id GROUP BY LAG.lag_namn ORDER BY Avg(SPELARE.spelar_betyg) DESC</code>
Detta ska ta ut medelvärdet på alla betyg från spelarna och ger som svar "lag_betyg".
Den sorterar efter högsta medel först och fallande siffror därefter.
Mvh,
Thomas VanhaniemiSv: Räkna och sedan sortera
/mvh Mathias