协助T-SQL JOIN?

时间:2013-03-09 18:39:34

标签: sql sql-server

现在我有两张桌子,叫做单打和平均值。

单打是:

PersonID (PK)
EventID (FK)
best
worldRank

平均值是:

PersonID (PK)
EventID (FK)
best
worldRank

我正在尝试将这两个表组合在一起。 基本上,结果表应该是:

“合并是:

PersonID (PK)
EventID(FK)
bestSingle ('best' from Singles)
bestAverage ('best' from Averages)
worldRankSingle ('worldRank' from Singles)
worldRankAverage ('worldRank' from Averages)"

这就是我现在所拥有的。

SELECT  RanksAverage.[personId],
RanksAverage.[eventId],
RanksAverage.[best] AS 'averageBest',
RanksAverage.[worldRank] AS 'averageRank',
RanksSingle.best AS 'singleBest',
RanksSingle.worldRank AS 'singleRank'

FROM [cubing].[dbo].[WCA_export_RanksSingle] AS RanksSingle

JOIN [cubing].[dbo].[WCA_export_RanksAverage] AS RanksAverage
ON RanksAverage.personId = RanksSingle.personId

顺便说一句,我正在使用SQL Server 2012。

1 个答案:

答案 0 :(得分:2)

您的JOIN中唯一遗漏的内容是event的第二个标准:

JOIN [cubing].[dbo].[WCA_export_RanksAverage] AS RanksAverage
ON RanksAverage.personId = RanksSingle.personId
AND RanksAverage.eventId = RanksSingle.eventId

这只是一个假设,因为我们不知道您的数据是什么样的。