首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-08-09 
请帮看一下这个统计语句该怎么写A表字段班级注册人数140250360B表字段班级姓名1name11name22name3现在想统

请帮看一下这个统计语句该怎么写
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.注册人数

热点排行