我试图查询我的数据库,我有几个表。
第一个表是玩家表。这有 PlayerID 和 FirstName 以及一堆与此问题无关的其他内容。
我的另一张桌子是经验。这有 PlayerID、NatGames 和 Int Games。
我想做的是,将 NatGames 和 IntGames 加在一起并显示最高结果。我可以使用这样的 max 函数来做到这一点:
select max (natgames + intgames) AS "Most Expiercened" from experience;
当这两个数字相加时,这将显示最大的数字。
现在我想做的是显示这个人的名字,它应该来自来自 Player 表的 playerID。
我已经尝试了几个小时,但我无法做到这一点。我有这样的事情,但失败了:
SELECT Player.Firstname, Experience.Natgames, Experience.Intgames
FROM Player
INNER JOIN Experience
ON Experience.PlayerID = Player.PlayerID
INNER JOIN (
SELECT Experience.PlayerID, MAX(Natgames + IntGames) AS TotalExperience
FROM Experience
GROUP BY Experience.PlayerID
) as TotalExperience
ON Experience.PlayerID = TotalExperience.ID
AND (NatGames + Intgames) = TotalExperience.TotalExperience
;