Select ClassName as 班级,ISnull(Count(*),0) as 人数 
From Class A
Inner Join Student B 
On A.ClassID = B.ClassID 
Group By ClassName

解决方案 »

  1.   


    SELECT ClassName,isnull(Count(Student.StudentID),0) as 人数
    FROM Class
    left JOIN Student 
    ON Class.ClassID =Student.ClassID
    GROUP BY Class.ClassName
      

  2.   

    select [班级]=ClassName,
           [人数]=isnull(T.num,0)
    from Class
    left join 
            ( select ClassID,[num]=count(1) 
              from Student 
              group by ClassID
            ) T on Class.ClassID=T.ClassID或者:
    select 
           [班级]=ClassName,
           [人数]=(select count(1) from Student where ClassID=t.ClassID)
    from Class t
      

  3.   

    SELECT ClassName,Count(Student.StudentID) as 人数
    FROM Class
    left JOIN Student 
    ON Class.ClassID =Student.ClassID
    GROUP BY Class.ClassName
      

  4.   

    vivianfdlpw的两个方法都应该可以啊.
    楼主把测试贴出来吧.
      

  5.   

    你COUNT里面的内容有点不对,可以用左外连接恩,