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

求:两张联系关系表统计的SQL

2012-09-27 
求:两张关联表统计的SQL求:两张关联表统计的SQL我有两张表表A字段: id学习专业1理工2文学3医学表B字段: id

求:两张关联表统计的SQL
求:两张关联表统计的SQL

我有两张表
表A字段: id 学习专业
  1 理工
  2 文学
  3 医学

表B字段: id 学生姓名 年级 学习专业的ID
  11 学生A 1 1
  12 学生B 3 2
  13 学生C 2 2
  14 学生D 2 1
  15 学生E 3 3
  ......

表A的ID与表B的“学习专业的ID”关联,
我想得到的统计结果是(按学习专业列出):

理工 该专业学生总人数 其中1年级人数 2年级人数 3年级人数 
文学 该专业学生总人数 其中1年级人数 2年级人数 3年级人数  
医学 该专业学生总人数 其中1年级人数 2年级人数 3年级人数

[解决办法]
SELECT A.学习专业,COUNT(*) AS 该专业学生总人数,
SUM(CASE WHEN B.年级=1 THEN 1 ELSE 0 END) AS [1年级人数],
SUM(CASE WHEN B.年级=2 THEN 1 ELSE 0 END) AS [2年级人数],
SUM(CASE WHEN B.年级=3 THEN 1 ELSE 0 END) AS [3年级人数]
FROM 表A AS A,表B AS B
WHERE A.ID=B.学习专业的ID
GROUP BY A.学习专业

热点排行