我有3张桌子(比赛,球员和球门), 我需要显示所有比赛,但只能显示最后得分球员的名字。 我知道我需要加入我的桌子,但我不知道如何。
这是我的数据库图表:
database diagram http://img843.imageshack.us/img843/582/8gqj.jpg
答案 0 :(得分:2)
或者你可以做到
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(最后输入)的情况下找到每个游戏的最后一个目标,其余的是直接连接......
答案 1 :(得分:0)
使用与LIMIT
混合的ORDER BY
仅从表格中选择一项,然后进行加入。