Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

把表中的某几个字段的数值批量转化为等第

仇国平  发表于:2011-01-20 19:08:47  
复制

比如我想把学生成绩表中的地理和生物根据大于85为优,大于70为良小于70分为合格,有什么好办法吗,谢谢!点击下载此附件

 

Top
煮江品茶 发表于:2011-01-20 19:33:24
SELECT ID,姓名,生物,地理, Round((Val([生物])+Val([地理]))/2,2) AS 平均分, IIf([平均分]>=60 And [平均分]<70,"合格",IIf([平均分]>=70 And [平均分]<85,"良","优")) AS 评价
FROM 学生期末成绩表;


煮江品茶 发表于:2011-01-20 19:45:46

简化一些,也可以写成:

SELECT ID,姓名,生物,地理, Round((Val([生物])+Val([地理]))/2,2) AS 平均分, IIf([平均分]<60,"不合格",iif([平均分]<70,"合格",IIf([平均分]<85,"良","优"))) AS 评价
FROM 学生期末成绩表;



煮茶论道 发表于:2011-01-20 19:53:23
煮江老师:你这个方法是可以转化为等第,但是我要的是不是平均分转化为等第,我要分别把生物,地理的数值转化为平均分,能否帮我改一下,谢谢!

煮江品茶 发表于:2011-01-20 20:06:18

单科计算如下:

SELECT ID,姓名,生物,IIf([生物]<60,"不合格",iif([生物]<70,"合格",IIf([生物]<85,"良","优"))) AS 评价
FROM 学生期末成绩表;

你说的“地理和生物根据大于85为优。。。”,我不懂什么意思。这是两门课,要么单独评定,要么平均或加权平均后评定。



如果需要若干学期内,或者同一学期内若干考试平均后再评定,可以先做分组查询,再以分组查询为基础写如上的sql语句。

煮茶论道 发表于:2011-01-21 08:01:57
好的,谢谢!

麥田 发表于:2011-01-25 09:43:48

新的示例已经发布在网站

  • 数据字段值区间转换--等第示例(01.25)


  • 总记录:6篇  页次:1/1 9 1 :