【发布时间】:2014-12-08 20:53:10
【问题描述】:
我是新来的,我遇到了一个问题。 总而言之,我们有一个表“Teams”,它有两列,teamID 和 name。 然后我们有另一个表“Matches”,其中包括 matchID、localTeamID、visitorTeamID、localTeamGoals、visitorTeamGoals....等。 因此查询需要以下内容:“返回球队名称,表示作为本地比赛的数量,以及作为访客参加的比赛数量,作为两个不同的列,在一个查询中,不允许使用光标”。
问题是,您需要团队名称,因此当您在比赛和团队之间进行连接时,比如说 localTeamID = teamID,您只能获得本地比赛......所以为了同时获得访问者。 ..你再次加入与visitorTeamID相同的teamID ....但是我的问题是,对于每场本地比赛,我都会得到所有的访问者比赛...
我怎样才能获得像
这样的正确结果Team LocalMatches VisitorMatches
Real Madrid 4 5
Manchester 5 4
请注意,查询中的“sums”或“counts”可能不同。 在此先感谢,我希望有人可以在这里帮助我。
【问题讨论】:
-
请注意,对于 Matches 表中的每一行,您只能查看哪支球队与其他球队(本地 vs 访客)进行了比赛,因此要知道一支球队作为本地和访客有多少场比赛,您必须计算/汇总您为每个团队找到的每一行作为本地和访客......但是很难将其计算为当您找到具有该团队的访客 ID 的行时,您不会获得本地 ID,反之亦然......
标签: sql-server-2008 count sum multiple-columns difference