2012-01-16 25 views
0

2つのテーブルがある場合、1つは選手、もう1つはオンフィールドです。MySql:指定された条件から次のレコードを取得する方法

テーブル::プレイヤー:

uid:10, name:jack 
uid:23, name:david 
uid:37, name:james 
uid:42, name:nick 
uid:58, name:mark 

テーブル::私は、次のプレイヤーが与えられたGIDを形成見つけるにはどうすればよいのゲーム

gid: 20, last_player: david 
gid: 32, last_player: jack 
gid: 38, last_player: mark 
gid: 43, last_player: nick 

?私のようないくつかの文を探しています :10、名前:、答えはuidですジェームズ

もしGID = 38:37、名前:

SELECT p.uid, p.name FROM player p AND onfield o WHERE o.last_player = p.name AND gid=20 ORDER BY uid ASC; 

GIDの場合= 20、答えはuidです。ジャック

質問:私はこのステートメントから次のレコードを取得する必要があります。 "last_player = 'mark'"の場合は、最初のレコードを取得します。

SQLクエリ内でこれを解決する方法はありますか?

答えて

0

o.last_player場合!=マーク

SELECT p.uid, p.name FROM player p, onfield o WHERE o.last_player = p.name 
    AND p.uid > o.guid ORDER BY uid ASC limit 1; 

o.last_player場合==マーク

SELECT p.uid, p.name FROM player p, onfield o ORDER BY p.uid ASC limit 1; 
関連する問題