sqlite Joins with MAX



我有2张桌子。一个显示进行的比赛(日期,地点,结果,对手等),另一个显示击球局的详细信息(得分等) 两个表都有一个主键,该主键将击球与特定游戏相关联。

当 MAX(最高)分数记录在表 BATTING 中时,我正在尝试从游戏中返回 RIVAL 列,但目前我不确定如何做到这一点。

2张表格可以在这里找到

https://i.stack.imgur.com/rGaK9.png

这些表中的示例是(RUNSSCORED中的最大分数为101,因此从GAMEINDEX返回链接的RIVAL,即"Ferndale"

任何帮助都会很棒。谢谢。

这是你要找的吗?

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);
SELECT G.OPPONENT, MAX(B.RUNSSCORED)
FROM GAMES AS G 
     INNER JOIN BATTING AS B
     ON G.GAMESINDEX = B.GAMESINDEX

最新更新