如何从多个SQL表中选择数据?
我有两个表,如下所述: 等级如何从多个SQL表中选择数据?,sql,Sql,我有两个表,如下所述: 等级 student id, exem1, exam2, exam3 student id, names 名称 student id, exem1, exam2, exam3 student id, names 我想显示学生的名字,他们在3次考试中的平均成绩,以及一个字母等级。字母等级计算如下: 90+是一个“A”,80-选择n.NAME作为“NAME”,当((g.exam1+g.exam2+g.exam3)/3)=90时,则为“A” 当((g.e
student id,
exem1,
exam2,
exam3
student id,
names
名称
student id,
exem1,
exam2,
exam3
student id,
names
我想显示学生的名字,他们在3次考试中的平均成绩,以及一个字母等级。字母等级计算如下:
90+是一个“A”
,80-选择n.NAME作为“NAME”,当((g.exam1+g.exam2+g.exam3)/3)=90时,则为“A”
当((g.exam1+g.exam2+g.exam3)/3)小于90时,则为“B”
其他'C'
以“等级”结束
从名称为n内部连接等级为g
关于g.student\u id=n.student\u id
根据需要修改范围
> SELECT n.student_names, ((g.exam1+g.exam2+g.exam3)/3) AS 'AVERAGE_RESULT', (CASE
WHEN ((g.exam1+g.exam2+g.exam3)/3) =90
THEN 'A'
WHEN (((g.exam1+g.exam2+g.exam3)/3) BETWEEN 80 AND 89)
THEN 'B'
WHEN (((g.exam1+g.exam2+g.exam3)/3) BETWEEN 70 AND 79)
THEN 'C'
ELSE 'D') END AS 'Student_grades',
FROM names n, grades g
WHERE n.students_id = g.students_id;
使用BETWEEN来包含范围Mine非常类似-s.sql(“((sum(g._2))+(sum(g._3))+(sum(g._4)))/3)作为平均值,当((sum(g._2))+(sum(g._3))+(sum(g._4))/3)<90时,则“B”或“C”作为等级结束,从n上的n个内部连接等级g开始,按(n._1=g.(分组)