2015-02-05 84 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