我有以下表结构:
ID Criteria01 Criteria02 Criteria03 ... CriteriaN Score
并且需要创建一个按层次标准返回汇总分数结果的过程。
例如,如果条件是
Criteria01 -> Criteria03 -> ID
我需要以以下分层格式返回数据:
Criteria03 Score
Criteria01 Score
ID Score
或者如果我有以下示例数据:
结果将是:
说明:
(分层级别 1)计算 Criteria01 中每个值的平均分数或
SELECT [Criteria01]
,AVG([SCORE])
FROM DataSource
GROUP BY [Criteria01]
(分层级别 2)计算 Criteria03 中每个值的平均分数或
SELECT [Criteria03]
,AVG([SCORE])
FROM DataSource
GROUP BY [Criteria03]
(分层级别 3)按 ID 显示分数。
上面显示了计算是如何完成的。剩下的是将 ID 行与其父 Criteria03 行匹配,然后将 Criteria03 行与其父 (Criteria01) 行匹配。
所以,我可以有不同的层次标准,需要用层次列返回结果。
请注意,对于我提供的示例数据,我不是在寻找,也不需要一个可行的解决方案,因为在我的真实案例中,事情有点复杂。
我正在寻找的建议或想法是从已经处于这种情况的人那里找到一种好的方法。