当前位置: 代码迷 >> Sql Server >> 请帮看一下这个统计语句该如何写
  详细解决方案

请帮看一下这个统计语句该如何写

热度:69   发布时间:2016-04-24 20:54:40.0
请帮看一下这个统计语句该怎么写
A表字段                             
班级   注册人数     
1      40
2      50
3      60

B表字段
班级      姓名
1          name1
1          name2
2          name3


现在想统计形成以下的报表
班级    注册人数     实际人数
1          40         2
2          50         1
3          60         0

就是B表中无班级3的人名,但是也需要在报表中体现班级3实际人数是零

请问这个SQL语句该怎么写啊? 请大家帮我

------解决方案--------------------
select a.班级,a.注册人数,isnull(b.cnt,0) as 实际人数
from A
left join (select 班级,count(*) as cnt from B group by 班级) as b
on a.班级=b.班级

------解决方案--------------------
SELECT
a.班级,
a.注册人数,
实际人数 = COUNT(B.班级)
FROM tbA a
LEFT JOIN tbB b
ON a.班级 = b.班级
GROUP BY a.班级, a.注册人数
  相关解决方案