我正在尝试从表中的11行确定一个SCORE。
使用ScoringCategoryID列将这11行聚合成五行,如下所示......
ScoringCategoryID CategoryScore PercentOfTotal
---------------------------------------------------------
7 15.00 0.40
8 15.00 0.30
9 14.50 0.20
10 4.50 0.05
11 4.50 0.05
我需要从这些数据中获取RawScore。不幸的是,我的客户不希望我仅仅将CategoryScore列总计(总计53.5)。您是否看到PercentOfTotal列的总和为1.因此,每个ScoringCategoryID都有一个权重。所以总得分...... ScoringCategoryID应该是得分的40%。 ScorCatID 8应该是总数的30%等。
我不确定如何在查询中执行此操作。我如何获得分数?
这是当前的查询...
SELECT jc.ScoringCategoryID,
SUM(etjs.CalculatedScore) as CategoryScore,
Max(sc.PercentOfTotal) PercentOfTotalScore
FROM tblEventTurnJudgeScores etjs
INNER JOIN tblJudgingCriteria jc ON jc.JudgingCriteriaID = etjs.JudgingCriteriaID
INNER JOIN tblScoringCategories sc ON jc.ScoringCategoryID = sc.ScoringCategoryID
WHERE etjs.EventTurnJudgeID = 1068
GROUP BY jc.ScoringCategoryID
这应该被汇总成一个分数。任何想法。
答案 0 :(得分:1)
SELECT SUM(CategoryScore * PercentOfTotal) as RawScore
FROM ( .....subquery here..... )