我正在尝试显示一些简单的计算机游戏结果,并且可以轻松地在我的代码中逐行迭代结果.我想要它,以便每个游戏的所有相关数据都在每个记录中,所以我可以在一行输出所有数据,例如:

> A队(得分45)对阵B队(得分55),比赛持续时间:5分钟

> C队(得分60)对阵D队(得分65),比赛持续时间:4.3分钟

因此,对于一个游戏,有两个团队相互比赛,每个团队在游戏结束时都得到一个分数.基本上,每个游戏最终在games_teams表中有两行.

这是我的架构:

这是我的表格数据:

这是我想要实现的输出,所以我可以轻松地遍历结果并在页面上输出它们:

我设法通过一些可怕的SQL和许多子查询来实现这一点:

SELECT games.game_id, game_name, game_duration,

(SELECT team_id FROM games_teams WHERE games.game_id = games_teams.game_id LIMIT 0, 1) AS team_id_a,

(SELECT team_id FROM games_teams WHERE games.game_id = games_teams.game_id LIMIT 1, 1) AS team_id_b,

(SELECT teams.team_name FROM games_teams INNER JOIN teams ON games_teams.team_id = teams.team_id WHERE games.game_id = game_id LIMIT 0, 1) AS team_name_a,

(SELECT teams.team_name FROM games_teams INNER JOIN teams ON games_teams.team_id = teams.team_id WHERE games.game_id = game_id LIMIT 1, 1) AS team_name_b,

(SELECT team_score FROM games_teams WHERE games.game_id = games_teams.game_id LIMIT 0, 1) AS team_score_a,

(SELECT team_score FROM games_teams WHERE games.game_id = games_teams.game_id LIMIT 1, 1) AS team_score_b

FROM games

这种方法的问题是它会很慢而且不能扩展.我还需要从games_teams表中提取其他游戏统计数据,以便更多的子查询.

我尝试的另一种方法是:

我通过以下SQL实现了这一点:

SELECT games.game_id, game_name, game_duration, teams.team_id, team_name, team_score

FROM games

INNER JOIN games_teams ON games.game_id = games_teams.game_id

INNER JOIN teams ON games_teams.team_id = teams.team_id

现在,由于每个游戏的相关数据在两个不同的记录中,因此在代码中这种方式将更难以预测.我必须构建行的第一部分,然后进入下一个循环迭代并打印下一部分.然后在下一场比赛中重新开始,我试图在一行上显示所有信息,如:

A队(得分45)对阵B队(得分55),比赛持续时间:5分钟

所以这就是为什么我认为如果它只是在一条记录上会更容易.有没有办法很好地完成这个,所以如果我需要在games_teams表中有更多的列,它也可以扩展吗?

任何帮助非常感谢,谢谢!

mysql 返回多行数据_mysql – 如何连接多个表,包括查找表和返回行中的数据相关推荐

  1. 假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含“1”数据位的个数,并将统计结果保存在res1数组中。数据段的代码定义如下: data seg

    假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含"1"数据位的个数,并将统计结果保存在res1数组中.数据段的代码定义如下 ...

  2. R语言使用单个向量创建矩阵数据、通过byrow参数指定从向量转化为矩阵的过程中的数据排布方式

    R语言使用单个向量创建矩阵数据.通过byrow参数指定从向量转化为矩阵的过程中的数据排布方式 目录 R语言使用单个向量创建矩阵数据.通过byrow参数指定从向量转化为矩阵的过程中的数据排布方式 R语言 ...

  3. mysql 事b务 查询_MySQL进阶学习笔记二(包括连接查询、子查询、联合查询、事务、存储过程)...

    1.高级查询 (1)了解笛卡尔积:笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序 ...

  4. 小白 MySQL数据库链接查询语句_MySQL数据库——连接查询

    今天将用 "手" 来教大家关于MySQL连接查询的知识! ============================================================= ...

  5. mysql某月按小时统计数据_Mysql按周,按月,按日,按小时分组统计数据

    按周 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; 按月 ...

  6. mysql按小时sum()求和_Mysql按周,按月,按日,按小时分组统计数据

    按周 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; 按月 ...

  7. mysql建库需要注意_MySQL 建库、建用户及建表事项

    1,MySQL建库语句比较简单,一句话: 1 create database tppamltest3 2,创建用户及授权: 1 insert into mysql.user(Host,User,Pas ...

  8. mysql面试关联查询语句_MySQL百万级、千万级数据多表关联SQL语句调优

    作者:成金之路 www.cnblogs.com/uttu/p/6384541.html 本文不涉及复杂的底层数据结构,通过explain解释SQL,并根据可能出现的情况,来做具体的优化,使百万级.千万 ...

  9. mysql数据库实验3查询_MySQL数据库实验:任务三 数据库的单表查询设计

    任务三 数据库的单表查询设计 文章目录任务三 数据库的单表查询设计[实训目的与要求][实训原理][实训步骤]一.简单查询二.按条件查询1.比较大小查询2.带in关键字的查询(确定集合)3.带BETWE ...

最新文章

  1. 湖南省第八届大学生程序设计大赛原题 D - 平方根大搜索 UVA 12505 - Searching in sqrt(n)...
  2. 强烈推荐——PQDT Open-ProQuest学位论文全文开放数据库
  3. 看完就懂系列—动态规划
  4. 时间序列预测之一:指数平滑法(二)R语言——代码实现
  5. UpdatePanel中用后台调用Javascript
  6. spring集成jndi_Spring应用程序与JNDI连接池的集成测试
  7. html按钮不可选中,如何使HTML文本不可选择
  8. Atitit osi tcp ip 对应attilax总结
  9. HDU5464 Clarke and problem
  10. OpenCV 二值化
  11. 工单、工艺路线及工作中心的表结构
  12. qq邮箱怎么qq找不到服务器,qq邮箱登录手机版网页 求高手 QQ邮箱登不上去 显示找不到服务器15?请问我咋用不...
  13. 如何使用2FA秘钥登录Facebook
  14. 恢复Outlook 2010/2007已被删除邮件的方法
  15. 揭秘手机游戏厂商怎么赚钱的。
  16. 手机6G运行内存和8G运行内存该如何选择?看完觉得买亏了
  17. 分分钟拯救监控知识体系
  18. Excel 2010 SQL应用016 降序排列
  19. 操作系统-CPU与外设交互方式
  20. 网络层——IP协议(IP协议报头IP报文的分片与组装)

热门文章

  1. 探索SwitchYard 2.0.0.Alpha2快速入门
  2. 使用Lucene的搜索服务器搜索Jira问题
  3. 使用带有OAuth2的Web应用程序和使用JWT来调用API – WSO2 API Manager
  4. 通过外部文件覆盖打包的Spring应用程序属性文件
  5. 如何在运行时更改日志记录级别
  6. Spring和JSF集成:导航
  7. linux 端口方法防火墙,Linux 打开端口方法(防火墙操作)
  8. Struts2的控制器(Controller)的工作流程图
  9. 正则表达式的环视实际应用案例
  10. SSL 和 TLS 介绍