Allen,
Ben bezig om een wkmanager op te zetten en ben beland bij het punt "tonen van de scores". Ik heb een datamodel waarin de poulewedstrijden, de pouleeindstanden en de verschillende finale rondes in 3 apparte tabellen worden opgeslagen. Nu moet er ook een totaal score getoond worden. Hiervoor had ik de volgende query in gedachte:
Dit gaat niet helemaal goed. Zodra je in alle 3 de tabellen punten hebt, dan telt de query alles perfect op, maar heb je (bijvoorbeeld) nog geen finale's goed, of kan je daar nog geen punten voor hebben, dan blijft FLV.PuntenAantal leeg. Hierdoor gaan alle optellingen ook niet goed en lijkt het alsof je nog helemaal geen punten hebt. Ik heb al geprobeerd om met sum(IsNull("punten, 0 ")) of IsNull("sum(punten), 0") iets aan te passen, maar dat gaat niet goed, want dan blijft het result altijd 0 (ook al zou er wel een ander getal moeten zijn. Ik wil wel graag alle spelers willen tonen in het resultaat en om alles op te tellen in de code en dan opnieuw te sorteren heeft bij mij ook geen voorkeur. Is het mogelijk om te tonen wat ik wil, of moet ik dan wel extra code schrijven?
Ben bezig om een wkmanager op te zetten en ben beland bij het punt "tonen van de scores". Ik heb een datamodel waarin de poulewedstrijden, de pouleeindstanden en de verschillende finale rondes in 3 apparte tabellen worden opgeslagen. Nu moet er ook een totaal score getoond worden. Hiervoor had ik de volgende query in gedachte:
SQL:
1
2
3
4
5
6
| SELECT U.UserID, U.UserName, U.Betaald, PWV.PuntenAantal As PWV_Punten, PEV.PuntenAantal As PEV_Punten, FLV.PuntenAantal As FLV_Punten, (PWV.PuntenAantal+PEV.PuntenAantal+FLV.PuntenAantal) As punten FROM ((Users U LEFT JOIN (SELECT userid, sum(punten) As PuntenAantal FROM PouleWedstrijdVoorspellingen GROUP BY userid) PWV ON U.UserID = PWV.UserID) LEFT JOIN (SELECT userid, sum(punten) As PuntenAantal FROM PouleEindstandVoorspellingen GROUP BY userid) PEV ON U.UserID = PEV.UserID) LEFT JOIN (SELECT userid, sum(punten) As PuntenAantal FROM FinaleLandVoorspellingen GROUP BY userid) FLV ON U.UserID = FLV.UserID ORDER BY 6 DESC |
Dit gaat niet helemaal goed. Zodra je in alle 3 de tabellen punten hebt, dan telt de query alles perfect op, maar heb je (bijvoorbeeld) nog geen finale's goed, of kan je daar nog geen punten voor hebben, dan blijft FLV.PuntenAantal leeg. Hierdoor gaan alle optellingen ook niet goed en lijkt het alsof je nog helemaal geen punten hebt. Ik heb al geprobeerd om met sum(IsNull("punten, 0 ")) of IsNull("sum(punten), 0") iets aan te passen, maar dat gaat niet goed, want dan blijft het result altijd 0 (ook al zou er wel een ander getal moeten zijn. Ik wil wel graag alle spelers willen tonen in het resultaat en om alles op te tellen in de code en dan opnieuw te sorteren heeft bij mij ook geen voorkeur. Is het mogelijk om te tonen wat ik wil, of moet ik dan wel extra code schrijven?