求化
select name from STUDENT where id in (select studentid from EXAM where score in
(SELECT score FROM EXAM
WHERE lessonid='10004' group by score having score <=
(select avg(score) from EXAM where Lessonid ='10004') )and lessonid ='10004')
查句有有一的法呢
或者用存程?
[解决办法]
你的语句怎么要4层查询啊?太复杂了吧?不就是找出10004这门课低于平均分的学生吗?试试下面的,没数据不要测
SELECT name
FROM STUDENT
WHERE id IN ( SELECT studentid
FROM EXAM
WHERE lessonid = '10004'
AND score <= ( SELECT AVG(score)
FROM EXAM
WHERE Lessonid = '10004'
) )