我正在尝试使用内部联接对 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];
您将两次加入同一张桌子。 在第二个内部连接中,将 tblhourly_stats.Media 更改为 [tblQuickPlans].media