我有2张桌子。一个显示一个游戏(日期,地点,结果,对手等),另一个显示击球局的细节(运行得分等)两个表都有一个主键,将击球与特定游戏联系起来。
当我在BATTING表中记录MAX(最高)分数时,我试图从游戏中返回OPPONENT列,但目前我不确定如何执行此操作。
可以在这里找到2个表
http://i.imgur.com/bqiyD3X.png
这些表中的示例是(RUNSSCORED中的最高得分为101,因此从GAMEINDEX返回链接的OPPONENT,即“Ferndale”
任何帮助都会很棒。感谢。
答案 0 :(得分:1)
这是你在找什么?
select OPPONENT
from GAMES
where GAMESINDEX in
(select GAMESINDEX from BATTING order by RUNSSCORED desc limit 1);
如果没有唯一的最大RUNSSCORED值,则答案可能不是确定性的。
如果你想在这种情况下有多个获胜者,你可以使用
select OPPONENT
from GAMES natural join BATTING
WHERE RUNSSCORED in (select MAX(RUNSSCORED) from BATTING);
答案 1 :(得分:0)
SELECT G.OPPONENT, MAX(B.RUNSSCORED)
FROM GAMES AS G
INNER JOIN BATTING AS B
ON G.GAMESINDEX = B.GAMESINDEX