1

以下の表に基づいて各チームのスケジュールを取得しようとしていますが、チーム名を表示するのに問題があります。ここに私のテーブルがあります:

チーム (team_id、team_name、team_mascot など)

ゲーム (game_id、game_date、game_home_team、game_visitor_team、game_home_score、game_visitor_score、game_complete)

これが私の現在のクエリです。これでチームのID値を取得できますが、ID値はあまり役に立たないため、チーム名が必要です。

SELECT game_home_team, game_visitor_team, game_date
FROM game 
INNER JOIN team home ON home.team_id = game_home_team 
INNER JOIN team visitor ON visitor.team_id = game_visitor_team
WHERE game_home_team = ? 
OR game_visitor_team = 6 
ORDER BY game_date ASC;

このクエリでチーム名を取得し、ゲームのスコアに応じて W または L などの結果を表示するにはどうすればよいですか? よろしくお願いします。

4

2 に答える 2

3
SELECT
   home.team_name AS home_team,
   visitor.team_name AS visitor_team,
   game_date,
   IF(
      game_home_score = game_visitor_score, 
      'Tie', 
      IF(
         game_home_score > game_visitor_score,
         'Hometeam',
         'Visitorteam'
      )
   ) AS Winner
FROM game 
INNER JOIN team home ON home.team_id = game_home_team 
INNER JOIN team visitor ON visitor.team_id = game_visitor_team
WHERE game_home_team = ? 
OR game_visitor_team = 6 
ORDER BY game_date ASC;
于 2012-07-17T18:27:22.637 に答える
0
select game_home_team, home.team_name AS homename,
    game_visitor_team, visitor.team_name AS visitorname
etc...
于 2012-07-17T18:27:54.900 に答える