我正在使用一个大型查询来提取有关某个人正在处理的各种项目的统计信息。其中一项是拉动一个人本周训练课程的小时数。
COALESCE ((SELECT Cast(s.nonprodhrs AS DECIMAL(10, 2)) AS '@count'
FROM dbo.BS_TrainingEvent_Segments AS s
INNER JOIN dbo.BS_Training_Trainers AS tr
ON tr.segmentID = s.teSegmentID
WHERE s.segmentDate >= @StartOfWeek AND s.segmentDate <= @EndOfWeek
AND tr.trainerEmpID = t.EmpID
), 0) AS '@hoursThisWeek'
我遇到的问题是Training_Trainers
表上的内部联接。有多个记录具有相同的segmentID
,这会导致错误Subquery returned more than 1 value. This is not permitted when the subquery follows
。
我是否有另一种方法可以在没有连接的情况下完成此操作或以正确的方式调整它?
答案 0 :(得分:0)
我不知道你在做什么,但试试这个。看起来你只需要几个小时:
Cast(SUM(s.nonprodhrs) AS DECIMAL(10, 2))....