从两个查询

问题描述:

下面结合字段是两个表我的工作:从两个查询

NBAGameLog:

Player_ID, Team, Minutes, Date_Played 

玩家:

Player_ID, First Name, Last Name, Position 

我有这两个查询现在:

AvgMP15:

SELECT DISTINCTROW Players.FirstName, Players.LastName, Players.Position, NBAGameLog.Tm, ROUND(AVG(AvgMP1),2) AS AvgMP 
FROM (SELECT Players.FirstName, Players.LastName, Players.Position, NBAGameLog.Tm, ROUND(AVG(NBAGameLog.MP),2) As AvgMP1 
FROM NBAGameLog INNER JOIN Players ON NBAGameLog.Player_ID = Players.Player_ID 
WHERE (((NBAGameLog.Date_Played) Between Date()-15 And Date())) 
GROUP BY NBAGameLog.Date_Played, Players.Position, NBAGameLog.FD_Points, Players.FirstName, Players.LastName, NBAGameLog.Tm, Players.Player_ID) AS [%$##@_Alias] 
GROUP BY Players.FirstName, Players.LastName, Players.Position, NBAGameLog.Tm; 

AvgMP:

SELECT DISTINCTROW p.FirstName, p.LastName, gl.Tm, ROUND(Avg(gl.MP),2) AS AvgMPS 
FROM NBAGameLog AS gl INNER JOIN Players AS p ON gl.Player_ID = p.Player_ID 
GROUP BY p.FirstName, p.LastName, gl.Tm 
ORDER BY Avg(gl.MP) DESC; 

第一个给了我一个玩家的姓名,职务,球队和他从过去的15场比赛的平均分。

第二个给我他在整个赛季的时间。

我想这两个比较,所以我想一个查询,拉:

姓氏,姓名,职务,队分在最后15玩过,上场时间上场整个赛季,区别15和季节。

这可能吗?

+1

你可能想显示的示例表,我们可以帮助你:) –

+0

我想你的第一个查询得到的平均分在最近15天内玩过任何游戏,而不是最近的15场比赛,那是你想要的吗?如果玩家在过去15场比赛中未参赛,他/她将不会进入第一个查询,您是否希望她/他进入统一查询? –

+0

优秀点!我添加了表格结构到我原来的问题(希望这是足够的细节)。 此外,你是正确的,只是最后15天,无论该玩家是否玩过。所以如果一个玩家在这15天内只有4场比赛,那么这些是唯一显示的比赛。但球员应该在两个查询中(他们在过去的15场比赛中只有0) – fullOfQuestions

我想通了!

这里的查询:

SELECT DISTINCTROW p.FirstName, p.LastName, gl.Tm, ROUND(Avg(gl.MP),2) AS Season, ROUND(Avg(gl2.MP),2) AS Last15, ROUND((Last15-Season),2) AS Diff 
FROM (NBAGameLog AS gl INNER JOIN Players AS p ON gl.Player_ID = p.Player_ID) INNER JOIN NBAGameLog AS gl2 ON gl2.Player_ID = gl.Player_ID 
WHERE gl2.Date_Played Between Date()-15 And Date() 
GROUP BY p.FirstName, p.LastName, gl.Tm 
ORDER BY p.LastName;