ik heb in m'n database een tabel. Daarin staat pk wedstrijdnr, teamnr, spelersnr, gewonnen(is sets) en verloren(is sets). tevens is er een tabel met spelers, maar deze is alleen nodig om namen op te vragen(wordt ook in 1 van de 2 scripts gebruikt)
In die tabel kan 1 spelers (met dus spelersnr) vaker voorkomen. En d'r zijn 2 teams.
nu wil ik per team opvragen welke speler(s) de meeste sets hebben gewonnen.
Ik heb al vanalles geprobeerd(voorbeelden komen zo) maar ze wekren niet
Ik heb twee sql scripts die iest deden wat ergens op lijkt maar allebei zijn ze niet goed
1e
deze geeft iedere speler die de maximale set's heeft gewonnen, maar vergelijkt die niet per team maar vergelijkt allebei de teams met team 2.
en
dit script werkt goed zolang niet 2 spelers hetzelfde aantal sets hebben gewonnen. Wat dus wel het geval kan zijn.
ik moet dus simpel iets terug krijgen van
als het script werkt hoef ik eigenlijk alleen maar het teamnr en spelersnr terug te krijgen, daar heb ik voldoende aan. Maar eventueel naam + voorletters(dubbele namen) mag ook als het dat makkelijker maakt
In die tabel kan 1 spelers (met dus spelersnr) vaker voorkomen. En d'r zijn 2 teams.
nu wil ik per team opvragen welke speler(s) de meeste sets hebben gewonnen.
Ik heb al vanalles geprobeerd(voorbeelden komen zo) maar ze wekren niet
Ik heb twee sql scripts die iest deden wat ergens op lijkt maar allebei zijn ze niet goed
1e
code:
1
2
3
4
5
6
7
8
| SELECT SPELERS.NAAM, SPELERS.VOORLETTERS, WEDSTRIJDEN.TEAMNR, SUM(WEDSTRIJDEN.GEWONNEN) AS totaal
FROM SPELERS INNER JOIN
WEDSTRIJDEN ON SPELERS.SPELERSNR = WEDSTRIJDEN.SPELERSNR
GROUP BY WEDSTRIJDEN.TEAMNR, SPELERS.NAAM, SPELERS.VOORLETTERS
HAVING (SUM(WEDSTRIJDEN.GEWONNEN) in
(SELECT MAX(wedstrijden.gewonnen)
FROM wedstrijden
GROUP BY teamnr)) |
deze geeft iedere speler die de maximale set's heeft gewonnen, maar vergelijkt die niet per team maar vergelijkt allebei de teams met team 2.
en
code:
1
2
3
4
5
| SELECT SPELERS.NAAM, SPELERS.VOORLETTERS, WEDSTRIJDEN.TEAMNR, SUM(WEDSTRIJDEN.GEWONNEN) AS totaal
FROM SPELERS INNER JOIN
WEDSTRIJDEN ON SPELERS.SPELERSNR = WEDSTRIJDEN.SPELERSNR
GROUP BY SPELERS.NAAM, SPELERS.VOORLETTERS, WEDSTRIJDEN.TEAMNR
HAVING (SUM(WEDSTRIJDEN.GEWONNEN) > MAX(WEDSTRIJDEN.GEWONNEN)) |
dit script werkt goed zolang niet 2 spelers hetzelfde aantal sets hebben gewonnen. Wat dus wel het geval kan zijn.
ik moet dus simpel iets terug krijgen van
als het script werkt hoef ik eigenlijk alleen maar het teamnr en spelersnr terug te krijgen, daar heb ik voldoende aan. Maar eventueel naam + voorletters(dubbele namen) mag ook als het dat makkelijker maakt
d'r is maar één ding in het leven wat moet, en dat is dood gaan.
