groupby下没有记录的分组字段的数量显⽰为0的⽅法 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
groupby分组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 数学 ⼩钱
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论