A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 下一秒温存 中级黑马   /  2014-11-9 14:36  /  741 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

现在项目中有一个需求,就是要根据学生成绩生成一个学生成绩等级的报表,比如成绩在90-100分之间的是等级A,成绩在80-90分之间的是
等级B,已次类推。为了避免直接在程序中硬编码,专门设计了一张等级表,用户可以自由的配置,学生表和等级表的设计如下:

学生表:

Id         XueHao         Name         Mark
1         00001         ZhangSan         85
2         00002         LiSi         75

等级表:

Id         MarkFrom         MarkTo         Level
1         90         100         A
2         80         89         B
3         70         79         C

2 个回复

倒序浏览
设计表还可以,没制作过报表,无能为力
回复 使用道具 举报
SELECT XueHao,NAME,
  CASE
  WHEN Mark>=90 THEN 'A'
  WHEN Mark BETWEEN 80 AND 89 THEN 'B'
  WHEN Mark BETWEEN 70 AND 79 THEN 'C'
  WHEN Mark BETWEEN 60 AND 69 THEN 'D'       
  ELSE 'E'
  END
  FROM student;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马