2015-02-05 54 views
0

我想将第二个查询合并为第一个查询结果中的一列。我需要在MySQL中结合两个select查询

首先查询:

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 

不知道如何去了解这个......

+0

作为一个列?你可以'SELECT(select ...)AS'' something''' - 但是如果这个子查询有多于1个结果,你可能会被f'd – 2015-02-05 21:39:07

回答

1

以下列添加到您select声明在第一个查询:

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

由于您在两个查询中通过相同的事情加入和分组,因此您应该可以将其添加为列而无需任何其他联接或子查询。

+0

简单,并且完美!谢谢! – bech64 2015-02-06 12:34:13

+0

@ bech64:我的荣幸。很高兴它适合你。 – 2015-02-06 15:40:53