4

私は2つのテーブルを持っています:

teams
----------------
|uid|name |rank|
----------------
|  1  |Team1|  1  |
|  2  |Team2|  2  |
----------------

games
-----------------------------------------------------------------------
|uid|team_one_uid|team_one_score|team_two_uid|team_two_score|game_date|
-----------------------------------------------------------------------
|1|1|70|2|50|2012-12-12|

チームテーブルには、チームのリストとランクなどの他のデータがあります。ゲームテーブルにはゲームのリストがあり、一意のID(uid)によって各チームを参照します。次の列を持つ行を含む結果を表示するには、どのクエリを実行できますか。

game_uid, team_one_name, team_one_rank, team_one_score, team_two_name, team_two_rank, team_two_score, game_date
4

2 に答える 2

12
select g.uid as game_uid, 
       t1.name as team_one_name, 
       t1.rank as team_one_rank, 
       team_one_score, 
       t2.name as team_two_name, 
       t2.rank as team_two_rank, 
       team_two_score, 
       game_date
from games g 
inner join teams t1 on t1.uid = team_one_uid
inner join teams t2 on t2.uid = team_two_uid
于 2012-08-07T20:18:59.613 に答える
1

私はこれがあなたが探しているものだと思います:

SELECT g.uid AS game_uid, t1.name AS team_one_name, t1.rank AS team_one_rank,
g.team_one_score, t2.name AS team_two_name, t2.rank AS team_two_rank, 
g.team_two_score, g.game_date 
FROM `games` g, `teams` t1, `teams` t2 
WHERE t1.id = g.team_one_uid 
AND t2.id = g.team_two_uid

これはで行うこともできますがINNER JOIN、同じことが起こります。

于 2012-08-07T20:20:55.793 に答える