求化
- SQL code
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这门课低于平均分的学生吗?试试下面的,没数据不要测
- SQL code
SELECT nameFROM STUDENTWHERE id IN ( SELECT studentid FROM EXAM WHERE lessonid = '10004' AND score <= ( SELECT AVG(score) FROM EXAM WHERE Lessonid = '10004' ) )