2つのテーブルがあります。1つは学生names
とを含みsids
、もう1つはとを含む「テイク」テーブルです。sids of students
grades
学生名「Peter-Parker」よりも平均が大きい学生の名前を表示したいと思います。
以下のクエリを試しましたが、機能しません。
SELECT s.sid, s.fname, s.lname
FROM student s, take t
WHERE s.sid = t.sid AND AVG(t.grade) > ALL(
SELECT AVG(grade)
FROM take, student
WHERE student.fname = 'Ali' and student.lname='Demir');
WITH AliAv(avg) AS
(SELECT AVG(grade) from take t, student s
where t.sid = s.sid ands.fname = 'Ali' and s.lname = 'Demir')
select student.sid, student.fname, student.lname
from student, take
where student.sid = take.sid Group by student.sid
having avg(take.grade) > AliAv.av;