2 teams in 1 tabel wedstrijd

Status
Niet open voor verdere reacties.

kloeckie

Nieuwe gebruiker
Lid geworden
28 apr 2007
Berichten
2
Ik heb 1 tabel met teams in (teamnaam (PK), adres,...) en een tabel wedstrijd (wedstrijdnr, thuisploeg, bezoeker, scorethuisploeg, scorebezoekers,...). Er zijn dus 2 relaties tussen deze tabellen (zowel van teamnaam naar thuisploeg als van teamnaam naar bezoekers).

Nu moet ik van elk team een totaalscore krijgen (door een gewoon select-statement), maar elk team kan zowel soms als thuisploeg als bezoeker aan bon komen in de tabel. Het resultaat mag ook in 2 kolommen komen (dan tel ik het achteraf gewoon op).

Dit was hetgeen ik al had:

SELECT Team.TeamNaam,SUM(Wedstrijd.ScoreThuisPloeg) AS ScoreThuisPloeg,
(SELECT SUM(Wedstrijd.ScoreBezoekers) AS Scorebezoekers
FROM Wedstrijd, Team WHERE Wedstrijd.Bezoekers = Team.TeamNaam) AS ScoreBezoekers
FROM Wedstrijd, Team WHERE Wedstrijd.ThuisPloeg = Team_1.TeamNaam
GROUP BY Team_1.TeamNaam

als uitkomst geeft dit echter:
teamnaam scorethuisploeg scorebezoekers
team1 13 24
team2 2 24
team3 20 24
(scorebezoekers is de som van ALLE scorebezoekers, niet alleen van dat team)

iemand een idee?
 
oplossing:

SELECT Team.TeamNaam,
(SELECT SUM(ScoreThuisPloeg) AS Expr1
FROM Wedstrijd AS wedstrijd_1
WHERE (ThuisPloeg = Team.TeamNaam)) AS Expr1,
(SELECT SUM(ScoreBezoekers) AS Expr1
FROM Wedstrijd AS wedstrijd_2
WHERE (Bezoekers = Team.TeamNaam)) AS Expr2
FROM Team CROSS JOIN
Wedstrijd AS Wedstrijd_1 CROSS JOIN
Wedstrijd
WHERE (Team.TeamNaam = Wedstrijd_1.ThuisPloeg) OR
(Team.TeamNaam = Wedstrijd.Bezoekers)
GROUP BY Team.TeamNaam
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan