我需要在MySQL中组合两个选择查询

时间:2015-02-05 21:37:02

标签: mysql

我想将第二个查询合并为第一个查询结果中的列。

首先查询:

Select
  snpc_stats.gamedetail.Player,
  Sum(snpc_stats.gamedetail.Points + snpc_stats.gamedetail.Hits) As Points,
  COUNT(*) As 'Games Played',
  Avg(snpc_stats.gamedetail.Finish) As 'Average Finish',
  Sum(snpc_stats.gamedetail.Hits) As `Total Hits`

From
  snpc_stats.gamedetail Inner Join
  snpc_stats.games On MOM_snpc_stats.games.GameID =
  snpc_stats.gamedetail.GamesID

Where
  snpc_stats.games.Season = '2014 Season'

Group By
  snpc_stats.gamedetail.Player, MOM_snpc_stats.games.Season

Order By
  Points Desc

第二次查询:

Select
  snpc_stats.gamedetail.Player,
  Sum(snpc_stats.gamedetail.Finish) As Second

From
  snpc_stats.gamedetail Inner Join
  snpc_stats.games On MOM_snpc_stats.games.GameID = snpc_stats.gamedetail.GamesID

Where
  snpc_stats.gamedetail.Finish = 1 And
  snpc_stats.games.Season = '2014 Season'

Group By
  snpc_stats.gamedetail.Player, snpc_stats.games.Season

不确定如何解决这个问题......

1 个答案:

答案 0 :(得分:1)

将以下列添加到第一个查询中的select语句中:

sum(if(snpc_stats.gamedetail.Finish = 1, 1, 0)) as Second

由于您在两个查询中都使用相同的东西加入和分组,因此您应该能够将其添加为列而不需要任何其他连接或子查询。