Sql server 如何按值分组对返回的值进行加权

Sql server 如何按值分组对返回的值进行加权,sql-server,tsql,sql,Sql Server,Tsql,Sql,我试图从表中的11行中确定分数 这11行将使用ScoringCategoryID列聚合为五行,如下所示 ScoringCategoryID CategoryScore PercentOfTotal --------------------------------------------------------- 7 15.00 0.40 8 15.00

我试图从表中的11行中确定分数

这11行将使用ScoringCategoryID列聚合为五行,如下所示

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  
我需要从这些数据中得到一个分数。不幸的是,我的客户不希望我只对CategoryScore列(总计53.5)求和。您看到PercentOfTotal列的总和是如何为1的吗。因此,每个分类都有一个权重。所以在总分中…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  

这应该被合并成一个分数。任何想法。

+1代表白痴;)这项任务在SQL之外要简单得多。您已经失去了我-您有数据,但我需要知道您希望看到的最终结果。天哪,您正在编写。我没有足够的信息来做这件事。我现在进入下一个项目。如果我得到澄清,我可以编辑和澄清。不,你有足够的信息。+1表示白痴;)这项任务在SQL之外要简单得多。您已经失去了我-您有数据,但我需要知道您希望看到的最终结果。天哪,您正在编写。我没有足够的信息来做这件事。我现在进入下一个项目。如果我得到澄清,我可以编辑和澄清。不,你有足够的信息。除了四舍五入之外,这不会给你提供与选择总和(分类核心)相同的信息吗?由于权重不等于1,而是总和为1,分数*权重之和与总和(分数)不同。(4*0.3)+(5*0.7)=1.2+3.5=4.7与(4+5)=9不一样,也与(4+5)*(0.3+0.7)=9不一样。但是,分数必须按最大潜力进行缩放。这就是我缺乏信息的地方。如果你只是乘以总数的百分比,那么总分就会减少。因为每条线都乘以%。就本算法而言,这将不起作用。SethYou在你的帖子中从来没有提到过最大潜力,因此很难考虑到这一点。你所说的“最大潜能”到底是什么意思?这里举个例子就很方便了。除了四舍五入之外,这不就等于是
选择SUM(CategoryScore)
?嗯,不是吗?由于权重不等于1,而是总和为1,分数*权重之和与总和(分数)不同。(4*0.3)+(5*0.7)=1.2+3.5=4.7与(4+5)=9不一样,也与(4+5)*(0.3+0.7)=9不一样。但是,分数必须按最大潜力进行缩放。这就是我缺乏信息的地方。如果你只是乘以总数的百分比,那么总分就会减少。因为每条线都乘以%。就本算法而言,这将不起作用。SethYou在你的帖子中从来没有提到过最大潜力,因此很难考虑到这一点。你所说的“最大潜能”到底是什么意思?这里有一个例子很方便。
SELECT SUM(CategoryScore * PercentOfTotal) as RawScore
  FROM ( .....subquery here..... )