求:两张关联表统计的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.学习专业