使状态失败并通过,从阈值分数
make status fail & pass, from treshold score
我需要帮助来添加状态为通过或未通过的新列(如果考试分数高于及格阈值)。这是语法
SELECT ID, COURSE_ID, PASS_THRESHOLD, UPDATE_DT
FROM univ.exam;
SELECT ID, STUDENT_ID, EXAM_ID, EXAM_DT, SCORE
FROM univ.exam_submission;
select STUDENT_ID,EXAM_ID,SCORE,PASS_THRESHOLD
from exam_submission es
left join student s
on es.STUDENT_ID = s.ID
left join exam e
on es.EXAM_ID = e.ID
这是现在的结果:
STUDENT_ID EXAM_ID SCORE PASS_THRESHOLD
1 3 88 65
1 5 71 70
2 1 53 55
2 3 77 65
2 4 85 63
我想做成这样:`
这是结果:
STUDENT_ID EXAM_ID SCORE PASS_THRESHOLD Status
1 3 88 65 Pass
1 5 71 70 Pass
2 1 53 55 Fail
2 3 77 65 Pass
2 4 85 63` Pass
select STUDENT_ID,EXAM_ID,SCORE,PASS_THRESHOLD,
case
when SCORE>=PASS_THRESHOLD then 'PASSED'
else 'Fail'
end as Flag
from exam_submission es
left join student s on es.STUDENT_ID = s.ID
left join exam e on es.EXAM_ID = e.ID
你可以用CASE
来测试WHEN
的分数是否小于pass_threshold,如果是THEN
我们放'fail'否则ELSE
我们放错了。
我们本可以反过来做,但是 <
比 >=
.
更简洁
select STUDENT_ID,EXAM_ID,SCORE,PASS_THRESHOLD,
CASE WHEN PASS_THRESHOLD > SCORE THEN 'fail' ELSE 'pass' END status
from exam_submission es
left join student s
on es.STUDENT_ID = s.ID
left join exam e
on es.EXAM_ID = e.ID
我需要帮助来添加状态为通过或未通过的新列(如果考试分数高于及格阈值)。这是语法
SELECT ID, COURSE_ID, PASS_THRESHOLD, UPDATE_DT
FROM univ.exam;
SELECT ID, STUDENT_ID, EXAM_ID, EXAM_DT, SCORE
FROM univ.exam_submission;
select STUDENT_ID,EXAM_ID,SCORE,PASS_THRESHOLD
from exam_submission es
left join student s
on es.STUDENT_ID = s.ID
left join exam e
on es.EXAM_ID = e.ID
这是现在的结果:
STUDENT_ID EXAM_ID SCORE PASS_THRESHOLD
1 3 88 65
1 5 71 70
2 1 53 55
2 3 77 65
2 4 85 63
我想做成这样:` 这是结果:
STUDENT_ID EXAM_ID SCORE PASS_THRESHOLD Status
1 3 88 65 Pass
1 5 71 70 Pass
2 1 53 55 Fail
2 3 77 65 Pass
2 4 85 63` Pass
select STUDENT_ID,EXAM_ID,SCORE,PASS_THRESHOLD,
case
when SCORE>=PASS_THRESHOLD then 'PASSED'
else 'Fail'
end as Flag
from exam_submission es
left join student s on es.STUDENT_ID = s.ID
left join exam e on es.EXAM_ID = e.ID
你可以用CASE
来测试WHEN
的分数是否小于pass_threshold,如果是THEN
我们放'fail'否则ELSE
我们放错了。
我们本可以反过来做,但是 <
比 >=
.
select STUDENT_ID,EXAM_ID,SCORE,PASS_THRESHOLD,
CASE WHEN PASS_THRESHOLD > SCORE THEN 'fail' ELSE 'pass' END status
from exam_submission es
left join student s
on es.STUDENT_ID = s.ID
left join exam e
on es.EXAM_ID = e.ID