其实Access里面是可以join多次的,只是写法方面有些不同罢了.下边是我写的例子.
Code
SELECT p.Id, p.Player, sum(iif(p.Id = m.Winner,s.WinnerScore,s.LoserScore)) AS Amount
FROM ([Match] AS m INNER JOIN Score AS s ON m.MatchNumber = s.MatchNumber) INNER JOIN Player AS p ON p.Id = m.Winner or p.Id = m.Loser
WHERE m.MatchNumber = 3
GROUP BY p.Id, p.Player
ORDER BY sum(iif(p.Id = m.Winner,s.WinnerScore,s.LoserScore)) DESC;