我已经写了一个SQL查询来显示特定团队的时间表以及他们的分数和第一次下降。如何重写SQL查询以获得一个球队的统计数据与对手的统计数据?
SELECT DISTINCT
/*From statsSchedules*/
homeScore
/*From leagueTeams*/
, homeTeam.logoId homeLogoId
, homeTeam.abbrName homeAbbrName
/*From statsTeamStats*/
, homeTeamStats.off1stDowns AS home1stDowns
/*From statsSchedules*/
, awayScore
/*From leagueTeams*/
, awayTeam.logoId awayLogoId
, awayTeam.abbrName awayAbbrName
/*From statsTeamStats*/
, awayTeamStats.off1stDowns AS away1stDowns
FROM statsSchedules
INNER JOIN leagueTeams AS homeTeam
ON statsSchedules.homeTeamId = homeTeam.TeamId
INNER JOIN statsTeamStats AS homeTeamStats
ON statsSchedules.homeTeamId=homeTeamStats.teamId
AND statsSchedules.homeTeamId=homeTeamStats.teamId
AND statsSchedules.scheduleId=homeTeamStats.scheduleId
INNER JOIN leagueTeams AS awayTeam
ON statsSchedules.awayTeamId = awayTeam.teamId
INNER JOIN statsTeamStats AS awayTeamStats
ON statsSchedules.awayTeamId=awayTeamStats.teamId
AND statsSchedules.awayTeamId=awayTeamStats.teamId
AND statsSchedules.scheduleId=awayTeamStats.scheduleId
WHERE awayTeam.abbrName LIKE 'DAL'
AND statsSchedules.stageIndex=1 OR homeTeam.abbrName LIKE 'DAL'
AND statsSchedules.stageIndex=1
ORDER BY `statsSchedules`.`weekIndex` ASC
该查询输出这个..
|homeScore|homeLogoId|homeAbbrName|home1stDowns|awayScore|awayLogoId|awayAbbrName|away1stDowns|
| 24 | 10 | DAL | 12 | 16 | 15 | NYG | 8 |
| 10 | 3 | DEN | 8 | 16 | 10 | DAL | 11 |
| 16 | 6 | ARI | 16 | 22 | 10 | DAL | 9 |
| 34 | 10 | DAL | 12 | 13 | 23 | LAR | 7 |
| 13 | 10 | DAL | 11 | 31 | 19 | GB | 8 |
我想现在要做的是创建一个具有DAL的总得分和对手DAL拿下总积分方面发挥了新表。
我还想要一个显示DAL的1stDowns的列和另一个显示其对手所造成的第一个下降总数的列。
预计
|mainTeamPts|mainTeam1stDowns|opponentsPts|opponents1stDowns|
| 109 | 55 | 86 | 59 |
UPADTE你的问题,显示你需要 – scaisEdge
结果你是不是清楚什么表,你wnat外观喜欢。请阅读[mcve]并采取行动(正如您在提问中所述)。对于其中的任何一个,你有什么目标?阅读关于SUM。 – philipxy
好吧我已编辑我的问题,并添加了预期。对不起,我还不熟悉SQL,因此想弄清楚如何正确提问有点困难。 – ssx95351