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

二表联合查询

2013-03-27 
2表联合查询目地是查询所有课程及选课人数有2表tableA,IDNAME1 1语文2数学3英语tableBNAME2NAME1张三语文

2表联合查询
目地是查询所有课程及选课人数

有2表
tableA,
ID          NAME1 
1           语文
2           数学
3           英语
tableB
NAME2    NAME1  
张三     语文
李四     语文
赵六     数学

查询结果为
课程    人数
语文    2
数学    1
英语    0
select A.NAME1 课程,count(NAME2) 人数 from A,B group by B.NAME1
不知道这样可不可以实现。
[解决办法]

select a.name1 课程,sum(case when isnull(name2,'')!='' then 1 else 0 end)人数 from tablea a left join tableb b on a.name1=b.name1 group by a.name1

[解决办法]
select name1 课程,isnull((select count(name1) from tableB where tableB.name1=tableA.name1 group by name1),0) 人数 from tableA

热点排行