您的位置:首页 > 其它

group by 下 没有记录的分组字段的数量显示为0的方法

2011-10-25 16:21 459 查看
 select t1.ID,isNull(sum(num),0) num from stu t1 left join

(select ID,count(*) as num from stu t1 inner join dbo.CourseStuView t2 on  t1.id=t2.stuid group by ID) t2

on t1.ID=t2.ID

group by t1.ID

 

执行后的结果

ID       Num

1          2

2          1

3          0

4          0

 

**************************************************************

Couse 课程表

ID Name

1          数学       

2          英语 

 

Stu 学生表

ID Name

1          小赵       

2          小钱       

3          小孙       

4          小李       

CourseStu 学生选课表

CourseID StuID

1          1        

1          2        

2          1               

 

 

 

 

CourseStuView 视图

SELECT     dbo.CourseStu.CourseID, dbo.CourseStu.StuID, dbo.Course.Name, dbo.Stu.Name AS Expr1

FROM         dbo.CourseStu INNER JOIN

                      dbo.Course ON dbo.CourseStu.CourseID = dbo.Course.ID INNER JOIN

                      dbo.Stu ON dbo.CourseStu.StuID = dbo.Stu.ID

 

CourseID StuID Name Expr1

1          1          数学         小赵       

2          1          英语         小赵       

1          2          数学         小钱       

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  join
相关文章推荐