Beste gebruikers,
Ik ben al een tijdje bezig met een mySQL query die ik maar niet voor elkaar krijg. De query werkt wel, maar niet zoals ik het wil. Ik heb al diverse oplossingen geprobeerd maar zonder juist resultaat.
Het is de bedoeling dat ik met deze query de stand kan op vragen tussen 2 teams die een wedstrijd tegen elkaar gespeeld hebben.
Momenteel is dit de query:
Ik denk dat de fout zit in de query, maar ik weet niet waar de fout zit.
Het probleem is dus:
Het team waar het eerste punt aan gegeven wordt, daar worden alle punten bij opgeteld.
Voorbeeldsituatie:
Team-A speelt tegen Team-B, ik geef een speler uit Team-A het eerste punt en ik haal met een query de totaalstand op. Vervolgens komt hieruit dat Team-A één punt gescoord heeft wat dus klopt. Vervolgens geef ik een speler uit Team-B een punt. Ik haal met een query weer de totaalstand op en tot mijn grote verbazing heeft Team-A er een punt bij gekregen.
Als ik dit hele verhaal dus andersom doe, dat ik dus eerst een speler uit Team-B een punt geef dan worden alle punten opgeteld bij Team-B.
Hier eventueel de database die ik hiervoor gebruik: (Download SQL bestand in een .zip)
De query die ik gebruik om doelpunten toe te voegen:
Het probleem is dus:
Het team waar het eerste punt aan gegeven wordt, daar worden alle punten bij opgeteld.
Voorbeeldsituatie:
Team-A speelt tegen Team-B, ik geef een speler uit Team-A het eerste punt en ik haal met een query de totaalstand op. Vervolgens komt hieruit dat Team-A één punt gescoord heeft wat dus klopt. Vervolgens geef ik een speler uit Team-B een punt. Ik haal met een query weer de totaalstand op en tot mijn grote verbazing heeft Team-A er een punt bij gekregen.
Als ik dit hele verhaal dus andersom doe, dat ik dus eerst een speler uit Team-B een punt geef dan worden alle punten opgeteld bij Team-B.
Design tekening:
Ik ben al een tijdje bezig met een mySQL query die ik maar niet voor elkaar krijg. De query werkt wel, maar niet zoals ik het wil. Ik heb al diverse oplossingen geprobeerd maar zonder juist resultaat.
Het is de bedoeling dat ik met deze query de stand kan op vragen tussen 2 teams die een wedstrijd tegen elkaar gespeeld hebben.
Momenteel is dit de query:
code:
1
2
3
4
5
6
7
8
9
10
11
| select wedstrijd.wedstrijdId,wedstrijd.uitTeam, (select SUM(Doelpunten)FROM spelerinfo WHERE spelers.teamId = wedstrijd.uitTeam and spelerinfo.wedstrijdId = wedstrijd.wedstrijdId) AS DoelpuntenUit,wedstrijd.ThuisTeam, (select SUM(Doelpunten)FROM spelerinfo WHERE spelers.teamId = wedstrijd.thuisTeam and spelerinfo.wedstrijdId = wedstrijd.wedstrijdId) AS DoelpuntenThuis FROM spelerinfo left join spelers on spelers.spelerNaam = spelerinfo.spelerId left join wedstrijd on wedstrijd.wedstrijdId = spelerinfo.wedstrijdId group by wedstrijd.wedstrijdId |
Ik denk dat de fout zit in de query, maar ik weet niet waar de fout zit.
Het probleem is dus:
Het team waar het eerste punt aan gegeven wordt, daar worden alle punten bij opgeteld.
Voorbeeldsituatie:
Team-A speelt tegen Team-B, ik geef een speler uit Team-A het eerste punt en ik haal met een query de totaalstand op. Vervolgens komt hieruit dat Team-A één punt gescoord heeft wat dus klopt. Vervolgens geef ik een speler uit Team-B een punt. Ik haal met een query weer de totaalstand op en tot mijn grote verbazing heeft Team-A er een punt bij gekregen.
Als ik dit hele verhaal dus andersom doe, dat ik dus eerst een speler uit Team-B een punt geef dan worden alle punten opgeteld bij Team-B.
Hier eventueel de database die ik hiervoor gebruik: (Download SQL bestand in een .zip)
code:
1
| http://easy-upload.nl/f/Q3aIJCG7 |
De query die ik gebruik om doelpunten toe te voegen:
code:
1
| insert into spelerinfo (spelerId, wedstrijdId, geel, rood, Doelpunten ) VALUES ('Zachary H. Shannon','22','0','0','15') |
Het probleem is dus:
Het team waar het eerste punt aan gegeven wordt, daar worden alle punten bij opgeteld.
Voorbeeldsituatie:
Team-A speelt tegen Team-B, ik geef een speler uit Team-A het eerste punt en ik haal met een query de totaalstand op. Vervolgens komt hieruit dat Team-A één punt gescoord heeft wat dus klopt. Vervolgens geef ik een speler uit Team-B een punt. Ik haal met een query weer de totaalstand op en tot mijn grote verbazing heeft Team-A er een punt bij gekregen.
Als ik dit hele verhaal dus andersom doe, dat ik dus eerst een speler uit Team-B een punt geef dan worden alle punten opgeteld bij Team-B.
Design tekening:
[ Voor 0% gewijzigd door Rednas_N op 26-09-2010 10:17 . Reden: Database opnieuw geupload ]
Just do it.