有两张表,一张学生表(学号,姓名,性别,年龄),一张先课表(学号,课程号,成绩)现在要查询成绩不及格(60为及格)课目大于6门的学生的名单.select * from 学生表 where 学号 in (select 学号,count(*) from 课表 where 成绩 < 60 having count(*) > 6)

解决方案 »

  1.   

    dawugui(潇洒老乌龟)是个热心人,good man
      

  2.   

    select * from 学生表
    where (select count(*) from 成绩表 where id=学生表.id and 成绩<60) >6
      

  3.   

    select 姓名,课程号
    from 选课表
    inner join 学生表 on 学生表.学号=选课表.学号
    where 成绩<60 
    group by 姓名,课程号
    having count(*)>6
      

  4.   

    谢谢大家,现在答案弄出来,我也学到了东西,希望看这个贴子的人都会这个问题.
     select * from 学生表
     where 学号 in (select 学号
     from 选课表 
     where 成绩<60 
     group by 学号 
     having count(*)>6)