当前位置: 首页 > 知识库问答 >
问题:

从select语句连接两个表时出现问题

袁晟
2023-03-14

到目前为止,我已经写了一份精选声明,获取球队的名称和他们在主场比赛中的平均得分,以及他们输给另一个球队的平均得分。

当他们客场时,我还有另一个,我选择了客队,以及他们客场时的平均得分和他们的平均失球数。

我如何从选择查询中连接这两个表,以便得到一个带有球队名称、主场平均得分、主场平均失球、客场平均失球和客场平均得分的表?

以下是我的代码:

select home_team, avg(home_score_half + home_score_full) as avg_scored_home, 
       avg(away_score_half + away_score_full) as avg_conceded_home 
from matches 
group by home_team;

select away_team, avg(away_score_half + away_score_full) as avg_scored_away, 
       avg(home_score_half + home_score_full) as avg_conceded_away 
from matches 
group by away_team;

任何帮助都将不胜感激。谢谢!

共有1个答案

廖绍辉
2023-03-14

如果您希望结果连接(每个团队在同一行),您可以使用两个查询作为连接的子查询

select  t1.home_team
      , t1.avg_scored_home
      , t1.avg_conceded_home
      , t2.away_team
      , t2.avg_scored_away
      , t2.avg_conceded_away
from (
  select home_team
      , avg(home_score_half + home_score_full) as avg_scored_home
      , avg(away_score_half + away_score_full) as avg_conceded_home 
  from matches 
  group by home_team
) t1 
INNER JOIN (
  select away_team
    , avg(away_score_half + away_score_full) as avg_scored_away
    , avg(home_score_half + home_score_full) as avg_conceded_away 
  from matches group by away_team
) t2 ON t1.home_team = t2.away_team
 类似资料:
  • 我有以下表格: http://www.gulllakeschools.net/mysqltables.pdf 我需要以以下格式提取数据:学生姓、学生名、日期事件、日期事件(学生登录的每一天都有一个日期事件) 组件com_users是我需要从组件列中提取的组件。 我是mysql的菜鸟,不知道如何一次完成。我有这些单独运行良好的精选语句: 但我不能为我的生活让他们加入。我尝试过加入,加入,完全加入,合

  • 问题内容: 我有两张桌子。表A和表B。 TableA包含一个varbinary(max)列-名为[BinaryA] TableB包含一个包含每个varbinary卷的列(名为“ Volume”,类型为“ Long”)。 为了选择我查询的所有卷 比,我想用它的体积更新tableB。 然后我写 我收到比 虽然我在运行时没有收到任何NULL 问题答案: 尝试使用此查询: 假设TableB和[VAULT]

  • 问题内容: 我有三个查询结果。 查询1: 查询2: 查询:3 我想输出一个表,其中包含所有三个查询的结果,例如(很抱歉,但我必须在这里写更多内容,以便我可以提交此帖子。我希望这足够;-)): 我尝试了 但是,出现以下错误: 我不确定为什么这是错误的,或者在这里是否正确的方法。有人知道吗? 问题答案: 导致错误的直接原因是引用手册: (并且可以连接到如果一个子表达式 括在括号中 。如果没有括号,这些

  • 我有两个大的Hive表,我想用spark.sql将它们连接起来。表格采用snappy格式,在Hive中存储为拼花文件。 我想加入它们并对某些列进行一些聚合,假设计算所有行和一列的平均值(例如 doubleColumn),同时使用两个条件进行过滤(假设在 col1,col2 上)。 注意:我在一台机器上进行测试安装(虽然功能非常强大)。我希望集群中的性能可能会有所不同。 我的第一个尝试是使用spar

  • 问题内容: 我似乎无法弄清楚为什么我会继续得到一个。 代码如下。 问题答案: 是保留关键字,您需要将其包装在方括号中: 我建议重命名该列,以避免每次引用时都使用方括号。

  • 问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如