mySQL连接行长度不均匀的表

时间:2012-10-05 17:00:51

标签: mysql

我有一个游戏的数据,其中一个表是游戏统计数据,而另一个表是游戏信息,如主队,客场球队,比赛日期和获胜者。我正在寻找一种方法来将游戏信息数据与统计数据相结合。统计数据配置为前五名球员为主队,后五名球员为客队。

游戏信息架构: 游戏日志( gameid ,gamedate,hometeam,awayteam,winner) gamestats( gameid 指数,玩家,积分,篮板......)

我希望我的输出为:

  • 主场,家庭主教,球员,积分,篮板
  • 主场,家庭主教,球员,积分,篮板
  • 主场,家庭主教,球员,积分,篮板
  • 主场,家庭主教,球员,积分,篮板
  • 主场,家庭主教,球员,积分,篮板
  • 客场,客场球员,球员,积分,篮板
  • 客场,客场球员,球员,积分,篮板
  • 客场,客场球员,球员,积分,篮板
  • 客场,客场球员,球员,积分,篮板
  • 客场,客场球员,球员,积分,篮板

我似乎无法找到一种方法来进行连接,因此团队列的前五个名称为主队,后五个名称为客队。我设法做到的唯一方法是增加两个列,每个列中包含十个团队名称,即:

SELECT gamelog.hometeam, gamelog.awayteam, gamestats.player, gamestats.points, gamestats.rebounds 
    WHERE gamestats.id = 18873
    AND gamelog.id = gamestats.id;
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板
  • hometeam,awayteam,球员,积分,篮板

我想另一种可能性是通过PHP进行多次查询,然后在查询完成后合并数据,但我不确定这是否会更有效。我还可以在具有团队名称的gamestats表中添加一列,但这似乎是多余的。

编辑:发布架构并清除语言

1 个答案:

答案 0 :(得分:0)

我明白了。不得不使用gamelog表主页团队名称加入gamestats表的前五行,然后使用游戏日志表离开团队名称UNION接下来的第五行gamestats表。