首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

这样的查询语句要如何写

2012-02-08 
这样的查询语句要怎么写?这是一个记录学员缺勤和未交作业的记录表,类型W表示未交作业,A表示缺勤,其中学员

这样的查询语句要怎么写?
这是一个记录学员缺勤和未交作业的记录表,类型W表示未交作业,A表示缺勤,
其中学员编号是不确定
  自动标示 班级编号 上课编号 学员编号 类型
SELECT SerID, CaCaID, CaSerID, UserSerID, TypeID FROM SX_SchAnnal
  1 51 1 101001 A
  2 51 1 101002 A  
  3 51 2 101003 W
  4 51 2 101003 A
  5 51 3 101001 W
  6 51 3 101002 W
  7 51 4 101003 W
  8 51 4 101003 A
  9 51 5 101003 A
。。。。。。。。。。。。。。。。。。。。。。。。。。。
要求查询出如下格式的数据
学员编号 未交作业总次数 缺勤总次数
101001 ? ?
101002 ? ?
。。。。。。。。。。。。。。。。。。
希望有高手能给个查询语句,谢谢

[解决办法]
上面错了。case里的A没有加单引号,应该是(没测试):

SQL code
select sum(case TypeID when 'A' then 1 else 0 end) as '缺勤总次数',count(*)-sum(case TypeID when 'A' then 1 else 0 end) as '未交作业数',UserSerID as '学号' from SX_SchAnnalgroup by UserSerID
[解决办法]
SQL code
SELECT UserSerID,       SUM( CASE WHEN TypeID = 'A' THEN                       1 ELSE 0 END),  --缺勤总次数        SUM( CASE WHEN TypeID = 'W' THEN                       1 ELSE 0 END)   --未交作业FROM  SX_SchAnnalGROUP BY UserSerID 

热点排行