access数据库如何将表中数据更新为当前数据与其他数据的比值

比如ida1a2a3112322343567结果显示:ida1a2a311/(1+2+3)2/(1+2+3)3/(1+2+3)以下同上,要得到小数形式1/(1+2+3)=... 比如 id a1 a2 a3
1 1 2 3
2 2 3 4
3 5 6 7
结果显示:id a1 a2 a3
1 1/(1+2+3) 2/(1+2+3) 3/(1+2+3)
以下同上,要得到小数形式1/(1+2+3)=0.16
展开
 我来答
badkano
2014-01-13 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885373
团长

向TA提问 私信TA
展开全部

你这是要查询还是要更新,给你写一个查询的吧

select id,round(a1/(a1+a2+a3),2),round(a2/(a1+a2+a3),2),round(a3/(a1+a2+a3),2) from 表名

 

不过这个是四舍五入,不过access里,0点几的那种数它会把前边的0抹掉,这个就需要转换一下,转成文本型才可以了

追问
我要的是更新    这个实现的就是更新 谢谢大师   这个可以    但是如果列比较多,分母会很长,这样处理会很麻烦,有没有简洁的语句
追答

你可以先创建一个查询

select id,(a1+a2+a3) as a from 表名

比如你保存成的名称叫查询1

然后用关联更新的方式来做

update 表名 as a inner join 查询1 as b on a.id=b.id set a1=round(a1/a,2),a2=(a2/a,2),a3=round(a3/a,2)
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式