Sql server 2008 集合的求和查询
我有两张桌子:Sql server 2008 集合的求和查询,sql-server-2008,tsql,Sql Server 2008,Tsql,我有两张桌子: Fixture (id, homeId, awayId...) FixtureStats(id,playerId, teamOwnerId, rating, goals) 我想展示每个球员的总进球数和球员所属的球队进球数 PlayerId TeamOwnerId Goals TeamGoals 1 2 0 9 2 2 1 9 3
Fixture (id, homeId, awayId...)
FixtureStats(id,playerId, teamOwnerId, rating, goals)
我想展示每个球员的总进球数和球员所属的球队进球数
PlayerId TeamOwnerId Goals TeamGoals
1 2 0 9
2 2 1 9
3 2 3 9
4 2 5 9
5 3 0 12
....
下面的sql查询仍然缺少teamgoals
SELECT TOP (100)
PERCENT fs.teamownerid,
fs.playerid,
Count(f.id) AS Apps,
Sum(fs.goal) AS Goals
FROM dbo.fixturestats AS fs
INNER JOIN dbo.fixture AS f ON fs.fixtureid = f.id
WHERE ( fs.rating > 0 )
GROUP BY fs.playerid, fs.teamownerid
试试这个:
SELECT
X.playerid,
X.teamownerid,
X.goals,
( SELECT Sum(goal)
FROM fixturestats
WHERE X.teamownerid = teamownerid
) AS TeamGoals
FROM (
SELECT
TOP (100) PERCENT fs.teamownerid AS TeamOwnerId,
fs.playerid AS PlayerId,
Count(f.id) AS Apps,
Sum(fs.goal) AS Goals
FROM dbo.fixturestats AS fs
INNER JOIN dbo.fixture AS f ON fs.fixtureid = f.id
WHERE ( fs.rating > 0 )
GROUP BY fs.playerid,fs.teamownerid
) AS X
您可以使用
Sum Over
进行此操作:
select
*,
Sum(Goals) over (partition by TeamOwnerId)
from
FixtureStats
where
(Rating > 0)
2之间的关系是什么?fs.fixtureid列链接到哪里?顶部(100%)百分比的
有什么用?@Ajay2707:您使用了什么工具来修复空格
?