读书人

求化,该如何解决

发布时间: 2012-09-18 16:21:42 作者: rapoo

求化

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'                                     ) ) 

读书人网 >SQL Server

热点推荐