我遇到了这个问题
这是我对此的回应,我最近才开始学习SQL。
Select a.roll_number
, a.name
, b.roll_number
from student_information a
join examination_marks b
on a.roll_number = b.roll_number
Group
by roll_number
Having Sum(subject_one.examination_marks + subject_two.examination_marks + subject_three.examination_marks) < 100;
您无需按结果进行分组,因为每个表中每个 roll_number 应该有一行。 你的加入是正确的。现在只需将 group by 和having 子句替换为where 条件即可检查所有三个主题的数量之和是否小于100。如果小于一百,则选择 roll_number 和 name。
Select a.roll_number, a.name
from student_information a
inner join
examination_marks b
on a.roll_number = b.roll_number
where (subject_one + subject_two + subject_three )< 100;
您可以使用以下查询获取学生信息。
Select std.roll_number, std.name
from student_information std
join examination_marks exm
on std.roll_number = exm.roll_number
where (subject_one + subject_two + subject_three) < 100;
SELECT STD.ROLL_NUMBER,STD.NAME
FROM STUDENT_INFORMATION STD,EXAMINATION_MARKS
EXM
Group by STD.ROLL_NUMBER=EXM.ROLL_NUMBER
Having SUM(EXM.SUBJECT_ONE+EXM.SUBJECT_TWO+EXM.SUBJECT_THREE)<100;
SELECT STD.ROLL_NUMBER,STD.NAME
FROM STUDENT_INFORMATION AS STD,EXAMINATION_MARKS AS EXM
WHERE STD.ROLL_NUMBER=EXM.ROLL_NUMBER
AND (EXM.SUBJECT_ONE+EXM.SUBJECT_TWO+EXM.SUBJECT_THREE)<100;