我想用我的查询从SQL Server数据库自动计算成绩,但我有很多错误。有帮助吗?
这是我尝试过的,但它很容易出错。
Student Asst1 Asst2 Exam
------- ------ ------ ------
John 12 22 38
SQL中的成绩查询:
SELECT
*,
(Asst1 + Asst2 + Exam) AS TotalMark,
(IF(TotalMark > 84.5, 'A', IF (TotalMark > 64.5, 'B',
IF(TotalMark > 49.5, 'C', IF (TotalMark > 29.5, 'D', 'E'))))) AS Grade
FROM Results
这样的事情。 (虽然它来自记忆,并没有仔细检查语法)
答案 0 :(得分:1)
试试这个 -
SELECT R.STUDENT, (Asst1+Asst2+Exam) AS TotalMark,
CASE WHEN (Asst1+Asst2+Exam) > 84.5
THEN 'A'
WHEN (Asst1+Asst2+Exam) < 84.5 AND (Asst1+Asst2+Exam) > 64.5
THEN 'B'
WHEN (Asst1+Asst2+Exam) < 64.5 AND (Asst1+Asst2+Exam) > 49.5
THEN 'C'
WHEN (Asst1+Asst2+Exam) < 49.5 AND (Asst1+Asst2+Exam) > 29.5
THEN 'D'
ELSE 'E'
END AS GRADE
FROM RESULTS R;