多条记录的 TSQL 连接问题

TSQL Join Issue with Multiple Records

我有一个大型查询,用于提取有关某人正在进行的各种项目的统计信息。其中一项是计算一个人本周将要训练的小时数 类。

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 table 上的内部联接。有多个具有相同 segmentID 的记录引发错误 Subquery returned more than 1 value. This is not permitted when the subquery follows.

是否有另一种方法可以在不连接的情况下完成此操作,或者以正确工作的方式对其进行调整?

我不知道你在做什么,但试试这个。看起来您只想要小时总和:

Cast(SUM(s.nonprodhrs) AS DECIMAL(10, 2))....