Jag har tabellerna: Poangliga
spelar_id - tal
sasong_id - tal
serie_id - tal
spelade - tal
mal - tal
assist - tal
utvisn - tal
Spelare
id - tal
namn - text
Poängligor läggs in för varje serie, som i sin tur hör till en säsong. Det jag nu vill göra är att kunna visa en poängliga för hela säsongen. då troligtvis med nån group grej på spelar_id.
Denna använder jag nu för att lista poängligan för en serie.
SQL = "SELECT p.*, s.* FROM Poangliga p INNER JOIN Spelare s ON p.spelar_id = s.id WHERE p.serie_id = " & serie &_
" ORDER BY (p.mal+p.assist) DESC, p.utvis ASC, p.mal DESC, p.assist DESC, p.spelade ASC"
Denna plockar ju ut mål, assist etc från poangliga där serie_id:t är det som skickas in i variabeln "serie", namnet på spelaren tas från tabellen Spelare utifrån spelar_id från tabellen Poangliga, sorterar efter poäng (mål+assist) osv....
När sen en ny serie skapas läggs det till en post i tabellen poangliga för varje spelare. Är det sedan, säg fyra serier per år, så finns alltså en spelares id på fyra poster i tabellen Poangliga.
Dessa vill jag summera och? gruppera så att när recordsetet loopas ut så kommer spelaren bara en gång men då med mål, assist osv. summerat.
SELECT s.namn ,
sum(mal) + sum(assist) as totalpoang,
sum(mal) as totalMal,
sum(assist) as totalAssist,
sum(spelade) as totalSpelade,
sum(utvisade) as totalUtvisade
FROM Poangliga p INNER JOIN Spelare s
ON p.spelar_id = s.id
where sasong_id = <aktuell säsong>
group by s.namn
ORDER BY 2 desc, 6 asc, 3 desc, 4 desc, 5 asc
siffrorna i order by anger ordningsnummer i select-listan. Det är det enda som fungerar i Access. I andra DBMS så går det att använda namnet efter as.