Mysql 从一个表中选择行,仅从另一个表中连接最后一行

Mysql 从一个表中选择行,仅从另一个表中连接最后一行,mysql,Mysql,我有3张桌子(比赛、球员和进球), 我需要显示所有比赛,但只显示最后一个得分球员的名字。 我知道我需要加入我的团队,但我不知道如何加入 这是我的数据库图: 使用LIMIT与ORDER BY混合,从表中仅选择一项,然后加入。或者您可以这样做 SELECT m.id, m.date, p.name, g.goal FROM match m LEFT JOIN ( SELECT max(id) gid,id_match FROM goal GROUP BY id_match )

我有3张桌子(比赛、球员和进球), 我需要显示所有比赛,但只显示最后一个得分球员的名字。 我知道我需要加入我的团队,但我不知道如何加入

这是我的数据库图:


使用
LIMIT
ORDER BY
混合,从表中仅选择一项,然后加入。

或者您可以这样做

SELECT m.id, m.date, p.name, g.goal FROM match m
  LEFT JOIN ( SELECT max(id) gid,id_match FROM goal GROUP BY id_match ) 
            lastgoal ON lastgoal.id_match=m.id
  LEFT JOIN goal g   ON g.id=lastgoal.gid
  LEFT JOIN player p ON p.id=g.id_player 

第一个子查询(带有一个
GROUP BY
)在假设每个游戏的最后一个目标具有最高的id(最后输入)的情况下查找最后一个目标,其余的是直接加入…

我知道,但我尝试了5天,我不知道如何做到这一点。我知道如何显示,但只显示第一行。。不,谢谢,迪戈佩里尼。。我试了5天,但没有成功。。这太好了。。非常感谢