0

我想加入三个表。第一个表(结果)有比赛结果,包含日期、a 队、b 队和最终得分。第二张表(阵容)有阵容的详细信息,即在给定日期为球队效力的球员名单,即日期、球队、球员1、球员2、球员3等。第三张桌子(球员)包含每个球员的信息,即姓名、身高,体重出生日期等。我想使用连接从所有三个表中取出信息。我希望最终值为日期、团队、player1、player1_height、player1_weight、player2、player2_height、player2_weight 等。三张表的结构如下:

  • 结果表、日期 varchar(50)、团队 varchar(50)、Team_Score int(11)

  • 阵容表, Date varchar(50), Team varchar(50),
    Player1 varchar(50), Player2 varchar(50), Player3 varchar(50), Player4 varchar(50), Player5 varchar(50)

  • 球员表,名字 varchar(50),身高 int(11),体重 int(11),生日 varchar(256),

我使用以下查询加入前两个表以获取日期、团队、player1、player2 等。

  SELECT 
         result.Date, 
         result.Team, 
         result.Team_Score, 
         lineup.player1, 
         lineup.player2, 
         lineup.player3, 
         lineup.player4, 
         lineup.player5     
  FROM   
         result 
  JOIN
         lineup 
  ON     
         result.date = lineup.date;

我该怎么做才能将此结果与第三张表结合起来,以获取每一位玩家的身高和体重?谢谢

4

1 回答 1

0

如果我理解,请继续为每个玩家加入同一张桌子

select  result.Date, result.Team, result.Team_Score
      , lineup.player1, p1.weight
      , lineup.player2, p2.weight
      , lineup.player3, p3.weight
      , lineup.player4, p4.weight
      , lineup.player5, p5.weight
from result, players p1, players p2, players p3, players p4, players p5, lineup 
where result.date = lineup.date
and p1.playerid = lineup.playe1
and p2.playerid = lineup.playe2
and p3.playerid = lineup.playe3
and p4.playerid = lineup.playe4
and p5.playerid = lineup.playe5;
于 2013-05-08T21:15:34.007 回答