【发布时间】:2015-01-13 06:41:32
【问题描述】:
我正在尝试使用案例陈述来获取学生的 gpa。当我使用案例陈述时,将学分与实际成绩相乘时,我只能得到 0 作为解决方案。我真的很困惑我做错了什么。
select *, sum(c.credits * grade), sum(c.credits),
CASE grade
WHEN 'A' THEN 4.0
WHEN 'A-' THEN 3.67
WHEN 'B+' THEN 3.33
WHEN 'B' THEN 3
WHEN 'B-' THEN 2.67
WHEN 'C+' THEN 2.33
WHEN 'C' THEN 2
WHEN 'C-' THEN 1.67
WHEN 'D+' THEN 1.33
WHEN 'D' THEN 1
WHEN 'D-' THEN 0.67
ELSE 0
END
from takes t join course c on t.course_id = c.course_id
group by t.ID;
我显示了一列CASE grade,其中包含某人获得的字母等级的正确gpa。我是否需要执行子查询才能使用 CASE grade 列?
【问题讨论】: