meerdere Som functies uit 1 tabel in 1 rij

Status
Niet open voor verdere reacties.

invictis

Gebruiker
Lid geworden
8 dec 2009
Berichten
17
Ik heb 1 tabel met daarin van alle deelnemers alle voorspellingen van de groepswedstrijden en de punten die zij daarvoor hebben gekregen. Men kan op 3 manieren punten krijgen. toto goed, doelpunten thuis goed, doelpunten uit goed.

Nu wil ik op de site een stand maken, daarvoor wil ik een sql.

Ik had zelf het volgende bedacht.

SELECT
sum(wpa.punten_toto+wpa.punten_thuis+wpa.punten_uit) as 'poule_a',
sum(wpb.punten_toto+wpb.punten_thuis+wpb.punten_uit) as 'poule_b'
FROM
wedstrijden_punten wpa,
wedstrijden_punten wpb
WHERE wpa.deelnemer_id = 1
and wpa.poule = 'a'
and wpb.deelnemer_id = 1
and wpb.poule = 'b'

Echter de verwachte uitkomst wordt dan met 6 vermenigvuldigd. Enige relatie met 6 die ik ka bedenken is dat er 6 wedstrijden per poule zijn...

Kan iemand mij vertellen hoe het wel moet?
 
Ik zie zo gauw niks vreemds. Kun je een extra wedstrijd toevoegen en kijken of het dan met 7 vermenigvuldigd wordt?

Je kunt ook even de SUM weglaten om te kijken welke lijst met resultaten er op gehaald wordt, dan kun je misschien zien of er ergens verkeerd gekoppeld wordt.
 
Nee dat geeft geen vermeningvuldiging met 7...

Dat geeft vermenigvuldiging met 5. Wat goed zou kunnen want ik heb nu maar 5 wedstrijden van poule B...

Er wordt dus te vaak naar de tabel gekeken.. .wie o wie helpt
 
Heb je de SUM ook weggehaald om te kijken welke rijen er allemaal uitkomen?

Kun je de volledige tabel layout posten?
 
CREATE TABLE IF NOT EXISTS `wedstrijden_punten` (
`id` int(3) NOT NULL default '0',
`wedstrijd_id` int(3) NOT NULL default '0',
`deelnemer_id` int(3) NOT NULL default '0',
`punten_toto` int(4) default NULL,
`punten_thuis` int(3) default NULL,
`punten_uit` int(3) default NULL,
`poule` char(1) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Dit is de tabel.

De gegevens moeten dmv loop op de site komen. Dus als dat makkelijker is door meerdere queries mag dat ook.

eind resultaat heb ik als volgt voor ogen
<tr><td> deelnemer_id </td><td> poule a</td><td> poule b</td><td> poule c</td><td> poule d</td><td> poule e</td><td> poule f</td><td> poule g</td><td> poule h</td><td>totaal score</td></tr>
<tr><td> 1 </td><td> 50</td><td> 40</td><td> 60</td><td> 50</td><td> 40</td><td> 60</td><td> 50</td><td> 350</td><td>totaal score</td></tr>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan