sqlite加入MAX

时间:2013-10-20 08:25:15

标签: sql sqlite

我有2张桌子。一个显示一个游戏(日期,地点,结果,对手等),另一个显示击球局的细节(运行得分等)两个表都有一个主键,将击球与特定游戏联系起来。

当我在BATTING表中记录MAX(最高)分数时,我试图从游戏中返回OPPONENT列,但目前我不确定如何执行此操作。

可以在这里找到2个表

http://i.imgur.com/bqiyD3X.png

这些表中的示例是(RUNSSCORED中的最高得分为101,因此从GAMEINDEX返回链接的OPPONENT,即“Ferndale”

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

2 个答案:

答案 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