2
我有两个表左连接到最近的战绩
游戏和成绩:
游戏都有一个主键ID
成绩已经game_id它引用games.id等领域中产生的。
我在尝试修改第question号公认的答案中的第二个例子以适合我的需要。
SELECT g.*,
s.*
FROM GAMES g
LEFT JOIN SCORES s ON s.game_id = g.id
JOIN (SELECT n.game_id,
MAX(n.created_on) AS max_score_date
FROM SCORES n
GROUP BY n.game_id) y ON y.game_id = s.game_id
AND y.max_score_date = s.created_on
它几乎可以工作,它获得每个游戏得分表中最近的条目。但它只返回在分数表中有相应条目的游戏。我需要它返回表中所有的比赛,如果他们在比分表中有条目的话。通过阅读前面提到的问题,我假定左连接将完成。
这正好解决一个问题而造成另一种。虽然无论在分数表中是否存在相应记录,它都会获得所有游戏,但它也会返回分数表中的所有记录,而不是基于created_on时间戳的最新记录。 – gsueagle2008 2012-08-08 17:11:14