ACCESS中用SQL语句新增一列

原始表姓名成绩张三100李四80王五605040目标表姓名成绩成绩等级张三100A李四70B王五55C45D39E80-100A60-80B50-60C40-50D40及... 原始表
姓名 成绩
张三 100
李四 80
王五 60
50
40

目标表

姓名 成绩 成绩等级
张三 100 A
李四 70 B
王五 55 C
45 D
39 E

80-100 A
60-80 B
50-60 C
40-50 D
40及以下E

是在aceess 中SQL语言实现新增一列,数据量大,高于100万,无法用EXCEl实现
80-100 A
60-80 B
50-60 C
40-50 D
40及以下E

这个是规则
展开
 我来答
abill425
推荐于2017-11-22 · TA获得超过1726个赞
知道小有建树答主
回答量:663
采纳率:100%
帮助的人:1086万
展开全部
先给表增加一个字段:
alter table 表名 add [成绩等级] varchar(10) NULL

再给此字段赋值:
update 表名 set [成绩等级]=IIf([成绩]>=40,IIf([成绩]>=50,IIf([成绩]>=60,IIf([成绩]>=80,'A','B'),'C'),'D'),'E')

注意,在access的查询中,不支持多条语句一起执行,所以这两条sql你要分别执行。
百度网友b5d8592
2009-10-27 · TA获得超过157个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:171万
展开全部
SELECT * INTO 目标表 FROM 原始表;
ALTER TABLE 目标表 ADD 成绩等级 text(1);
UPDATE 目标表 SET 成绩等级=SWITCH(成绩 between 80 and 100,'A',
成绩 between 60 and 79,'B',
成绩 between 50 and 59,'C',
成绩 between 40 and 49,'D',
成绩<40,'E')

说明:
第一行,表的拷贝(包括结构和数据)。
第二行,增加“目标表”的成绩等级,字段类型为文本型。
第三行,用SWITCH条件判断结构清晰。
语法: SWITCH(条件,满足条件返加值, [第二组同前面一样]
以上几句,ACCESS 仅支持单行运行。

参考资料: 原创

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式