2013-03-28 18 views
0

我有2個表稱爲「用戶」和「分數」
我想通過用戶名列表中的用戶訂單和用戶名應在評分表如何得到一個列表,按用戶名排序,如果它在分數表中有分數?

用戶表:

id Username 
1 D 
2 B 
3 F 
4 A 
5 E 
6 C 

評分表:

Scorid UserID score 
1  3  156 
2  4  202 
3  4  890 
4  6  346 
5  3  657 
6  5  658 
7  5  700 
8  5  263 
9  2  1089 
10  3  745 

我希望像這樣的列表:

UserName score 
A  890 
A  202 
B  1089 
C  346 
E  700 
E  658 
E  263 
F  745 
F  657 
F  156 

*名單必須由用戶名順序和分數是爲了過自己的用戶名組
*用戶「d」沒有列出,因爲它沒有得到任何分數
*用戶可能有不止一個得分

我正在使用PHP編寫程序,並且正在使用mysql

哪個查詢在一個查詢中給出此列表?

+0

接受的答案是錯的,因爲默認順序是上升的,所以202會高於890 ......這就是爲什麼我在我的答案中加入了DESC。當人們接受答案而沒有正確檢查答案時有點有趣。 – Karol 2013-03-28 03:43:28

+0

(我的英文很差) 你是對的,這是我的錯誤,我很快接受並將所有答案混合到我的代碼中。 – MarsPeople 2013-03-28 13:36:59

回答

0

這是要與正確的名稱(請注意,我已經改變了你的表名是複數)運行(MySQL的)查詢:

SELECT username, score 
FROM `score` 
JOIN `user` ON id = UserID 
ORDER BY username ASC , score DESC 
0
Select Username, score 
from user, score 
where score.UserID = user.id and 
     score > 0 
order by username, score 
0
SELECT 
user.username, 
score.score 
FROM user 
LEFT JOIN score 
ON score.UserID = user.id 
相關問題