多条记录的 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))....
我有一个大型查询,用于提取有关某人正在进行的各种项目的统计信息。其中一项是计算一个人本周将要训练的小时数 类。
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))....