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を使用しています

1 つのクエリでこのリストを取得するクエリはどれですか?

4

3 に答える 3

0
Select Username, score 
from   user, score 
where  score.UserID = user.id and 
       score > 0
order  by username, score
于 2013-03-28T02:00:23.167 に答える
0
SELECT
user.username,
score.score
FROM user
LEFT JOIN score
ON score.UserID = user.id
于 2013-03-28T02:01:05.687 に答える
0

これは、正しい名前で実行する (MySQL) クエリです (テーブル名を複数形に変更したことに注意してください)。

SELECT username, score
FROM  `score` 
JOIN  `user` ON id = UserID
ORDER BY username ASC , score DESC 
于 2013-03-28T02:03:14.353 に答える