当前位置: 代码迷 >> Sql Server >> 真正的专业有关问题待答
  详细解决方案

真正的专业有关问题待答

热度:90   发布时间:2016-04-27 19:05:45.0
真正的专业问题待答
表A:
UserID   varchar(50)   //学生编码
ClassID   varchar(50)   //班级编码
UserName   varchar(50)   //姓名
TypeID   varchar(50)   //所属组

数据内容如下:
UserID   ClassID   UserName   TypeID
1001       1               张三           10
1002       2               李四           11
1003       3               王五           12
1004       4               赵六           12
1006       3               韩七           11
1007       2               马八           13

表B:
ClassID   varchar(50)
ClassName   varchar(50)

数据内容如下:
ClassID   ClassName
1               一班
2               二班
3               三班
4               四班
表C:
TypeID   varchar(50)
TypeName   varchar(50)

数据内容如下:
TypeID   TypeName
10           第一组
11           第二组
12           第三组
13           第四组

现在的要求是统计出如下的表:

班级     第一组人数     第二组人数     第三组人数     第四组人数     合计
一班     1                       1                       2                       1                         5
二班     2                       1                       2                       3                         8
三班     1                       3                       1                       1                         6
四班     3                       3                       2                       1                         9

各位老大,这是我辛苦手工写出来的,很多系统统计经常用到的功能,但是大多数都是一个一个字段的统计,极费资源,大家好好看看,如何用最少的SQL实现,并达到最佳资源利用?

------解决方案--------------------
--楼主给的数据和你要的结果不对啊!

drop table 表A,表B,表C
go
create table 表A(UserID varchar(50),ClassID varchar(50),UserName varchar(50),TypeID varchar(50))
insert into 表A
select '1001 ', '1 ', '张三 ',10
union all select '1002 ', '2 ', '李四 ',11
  相关解决方案