具有内连接多次相加的 SQL SUM 函数

问题描述 投票:0回答:1

我正在尝试使用内部联接对 2 个表上的列进行求和,但求和操作已执行多次。这些总和在独立运行时工作正常,但在一起运行时则不然。连接似乎是问题所在,但我无法找出布置此查询的正确方法。

这是我的代码-

SELECT [tblMedias].[Media_Name],[tblMedias].[Prod_Rate], 
sum(CAST(tblQuickPlans.[TotalHours] AS decimal(10,2))) as '[TotalHours]', sum(CAST(tblhourly_stats.[ActTotal] AS decimal(10,2))) as '[ActTotal]', 
sum(CAST(tblhourly_stats.[ClrdTotal] AS decimal(10,2))) as '[ClrdTotal]', sum(CAST(tblhourly_stats.[InProcTotal] AS decimal(10,2))) as '[InProcTotal]', sum(CAST(tblhourly_stats.[EscTotal] AS decimal(10,2))) as '[EscTotal]' 

FROM [tblMedias]

INNER JOIN [tblhourly_stats] ON [tblMedias].Media_Name = tblhourly_stats.Media
INNER JOIN [tblQuickPlans] ON [tblMedias].Media_Name = tblhourly_stats.Media

WHERE tblhourly_stats.Media = @passedmedia 
AND tblhourly_stats.[Date] between cast(@startDate As datetime) AND cast(@endDate As datetime) 
AND tblQuickPlans.[Date] between @startDate AND @endDate 
AND tblhourly_stats.[Date] between cast(@startDate As datetime) AND cast(@endDate As datetime) 

GROUP BY [tblMedias].[Media_Name],[tblMedias].[Prod_Rate];
sql stored-procedures sum
1个回答
0
投票

您将两次加入同一张桌子。 在第二个内部连接中,将 tblhourly_stats.Media 更改为 [tblQuickPlans].media

© www.soinside.com 2019 - 2024. All rights reserved.