sql - Access SQL > 选择案例帮助

标签 sql ms-access

我有一组表格,包括 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/

相关文章:

c# - 如何在 asp.net 中停止页面加载时的数据绑定(bind)

asp.net - 用于将非英文字符存储到 SQL 数据库的 HTML/ASPX 文本框

sql - 如何删除Microsoft Access中多个表的内容?

ms-access - 更新插入ms Access 权限

ms-access - Microsoft Access - 在网络查询中使用 In 子句

SQL Server 选择所有不具有前缀重复值的记录

sql - 如何从 SQL 中的两个表创建矩阵?

mysql - 如何在 MySQL 数据库中选择日期时间为今天 - 2 天的行?

database - 使用 MS Access 中另一个表中的值过滤表的正确方法?

sql - 两列去重