【发布时间】:2019-06-05 21:51:10
【问题描述】:
我有两个查询从两个不同的表中获取两个不同列的总和。我面临的问题是我想避免子查询。有没有办法得到我的结果的总和?
这是第一个查询:
SELECT TeamID, Count(HomeTeamID) AS LASTCOUNT1
FROM Games LEFT JOIN Teams as team1
ON Games.HomeTeamID = team1.TeamID
GROUP BY TeamID;
这是第二个查询:
SELECT TeamID, Count(AwayTeamID) AS LASTCOUNT2
FROM Games LEFT JOIN Teams as team2
ON Games.HomeTeamID = team2.TeamID
GROUP BY TeamID;
结果:
|--TeamID--|--LASTCOUNT1--|
| 1 | 8 |
| 2 | 8 |
| 3 | 8 |
| 4 | 8 |
| 5 | 8 |
| 6 | 8 |
| 7 | 8 |
| 8 | 8 |
|--TeamID--|--LASTCOUNT2--|
| 1 | 8 |
| 2 | 8 |
| 3 | 8 |
| 4 | 8 |
| 5 | 8 |
| 6 | 8 |
| 7 | 8 |
| 8 | 8 |
如何在没有联合子查询的情况下获得所需的结果?
|--TeamID--|--LASTCOUNT1--|--LASTCOUNT2--|--TOTALCOUNT--|
| 1 | 8 | 8 | 16 |
| 2 | 8 | 8 | 16 |
| 3 | 8 | 8 | 16 |
| 4 | 8 | 8 | 16 |
| 5 | 8 | 8 | 16 |
| 6 | 8 | 8 | 16 |
| 7 | 8 | 8 | 16 |
| 8 | 8 | 8 | 16 |
谢谢!
【问题讨论】:
标签: sql sql-server tsql sum subquery