2013-08-06 38 views
0

我有3個表格(匹配,玩家和目標), ,我需要顯示所有匹配,但只能顯示最後一位玩家的名字。 我知道我需要加入我的表格,但我不知道如何。從一個表格中選擇只加入最後一行的行

這裏是我的數據庫圖表:

database diagram http://img843.imageshack.us/img843/582/8gqj.jpg

+0

我知道,但我試了5天,我不明白如何做到這一點。我知道如何顯示它,但只與第一行..沒有最後 – scooti

回答

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(進入最後一)假設每場比賽的最後一球,剩下的就是直截了當加入...

+0

哦..這是優秀..謝謝很多汽車10 – scooti

0

使用LIMIT混合ORDER BY從表中只選擇一個項目,然後讓你的加入。

+0

感謝diegoperini ..我試着它5天,但沒有成功 – scooti

相關問題