学生选课系统中,有些课没选,如果我要查询课程和相应课程的选课的人数,有的是0,怎么显示呢???
指教!!!

解决方案 »

  1.   

    结构就是下面这样:
    course(cno,cname)
    student(sno,sname,sex,sage)
    sc(sno,cno,grade)
      

  2.   


    --这样?
    select cname,人数=isnull(cnt,0)
    from course a left join 
    (select cno,cnt=count(*) from sc group by cno) b on a.cno=b.cno
      

  3.   

    select 
       a.cname,isnull(count(sno),0) as 选课的人数
    from
       sc c
    left join
       student b
    on
       c.sno=b.sno
    left join
       course a
    on
       a.cno,=c.cno,
      

  4.   

    ---修改
    select 
       a.cname,isnull(count(b.sno),0) as 选课的人数
    from
       sc c
    left join
       student b
    on
       c.sno=b.sno
    left join
       course a
    on
       a.cno,=c.cno
      

  5.   

    这样写应该可以:
    select cno as 课程号,count(sno)选课人数
    from sc
    group by cno 
      

  6.   

    select m.*,
           isnull((select count(1) from sc n where cno = m.cno) , 0 ) 选课人数
    from course m