Hallo iedereen, vanmiddag ben ik op een raar (my)sql probleem gebotst.
Graag zou ik in 1 query het aantal huidige atleten van een groep opvragen. De atleten staan in een tabel en de groepen ook (die dan gelinkt zijn via p.pkIntGroepID = a.fkIntGroepID). Het al dan niet lid zijn van de vereniging (er staan ook voormalig-leden in de tabel) wordt bepaald door een veldje a.blnAtleetLid (0-1). Er zijn echter heel wat groepen die nog geen atleten hebben, daar zou dus gewoon 0 moeten staan.
Als ik volgende query uitvoer, zonder rekening te houden met het al dan niet lid zijn, krijg ik het gewenst resultaat.
sql:
resultaat:
Als ik nu echter rekening ga houden met het al dan niet lid, ben ik opeens alle 0-resultaten kwijt.
sql:
resultaat:
Heeft iemand enig idee wat ik verkeerd doe?
De MySQL versie die ik run is 4.1.10
Graag zou ik in 1 query het aantal huidige atleten van een groep opvragen. De atleten staan in een tabel en de groepen ook (die dan gelinkt zijn via p.pkIntGroepID = a.fkIntGroepID). Het al dan niet lid zijn van de vereniging (er staan ook voormalig-leden in de tabel) wordt bepaald door een veldje a.blnAtleetLid (0-1). Er zijn echter heel wat groepen die nog geen atleten hebben, daar zou dus gewoon 0 moeten staan.
Als ik volgende query uitvoer, zonder rekening te houden met het al dan niet lid zijn, krijg ik het gewenst resultaat.
sql:
code:
1
2
3
4
5
| SELECT g.strGroepNaam, count( a.blnAtleetLid ) AS aantal FROM groep g LEFT OUTER JOIN atleten a ON a.fkIntGroepID = g.pkIntGroepID GROUP BY g.strGroepNaam ORDER BY strGroepNaam |
resultaat:
code:
1
2
3
4
5
6
| 1/2 fond 45 Benjamins 0 fond 0 joggers 0 Kadetten / Scholieren 0 Meerkamp 3 |
Als ik nu echter rekening ga houden met het al dan niet lid, ben ik opeens alle 0-resultaten kwijt.
sql:
code:
1
2
3
4
5
6
| SELECT g.strGroepNaam, count( a.blnAtleetLid ) AS aantal FROM groep g LEFT OUTER JOIN atleten a ON a.fkIntGroepID = g.pkIntGroepID WHERE a.blnAtleetLid =1 GROUP BY g.strGroepNaam ORDER BY strGroepNaam |
resultaat:
code:
1
2
| 1/2 fond 22 Meerkamp 3 |
Heeft iemand enig idee wat ik verkeerd doe?
De MySQL versie die ik run is 4.1.10
Greetz, OSwimmer