我有一组表格,包括 Reps、Teams、Errors、Error Log。 错误日志列出了代表犯的所有错误。每个代表都在一个团队中。每个代表都有一个 Edge ID(用户编号) 每种不同类型的错误都有一个分值(存储在错误表中)。
我在 Access 中有这个查询来计算两个日期之间团队中每个代表的总分值:
SELECT
Reps.Forename
, Reps.Surname
, [Error Log].[Edge ID]
, Teams.[Team Code]
, Sum(Errors.Points) AS SumOfPoints
FROM Teams
INNER JOIN (
Reps INNER JOIN (
Errors INNER JOIN [Error Log]
ON Errors.[E&CD code] = [Error Log].[E&CD Code])
ON Reps.[Edge ID] = [Error Log].[Edge ID])
ON Teams.[Team Code] = Reps.[Team Code]
WHERE
((([Error Log].[Date Logged]) Between [Error logged from: (dd/mm/yyyy)] And [Error logged to: (dd/mm/yyyy)])
AND
((Teams.[Team Code])=[Team Code:]))
GROUP BY
Reps.Forename
, Reps.Surname
, [Error Log].[Edge ID]
, Teams.[Team Code]
ORDER BY
Sum(Errors.Points) DESC;
我想根据每个代表的分数给他们打分,其中: 0-4 分 = 3 分,5-9 分 = 4 分,10+ = 5 分
我该如何编码(也许是 SELECT CASE)?在过去的一个小时里,我一直在努力,但还是做不好!
感谢您的帮助。
最佳答案
Access 不支持选择大小写结构。相反,您需要使用 Switch功能
Switch(SumOfPoints >= 10, 5, SumOfPoints >=5, 4, ...)
关于sql - Access SQL > 选择案例帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/864159/