使用Access中的查询将列添加到现有表

时间:2014-08-06 11:27:31

标签: sql database ms-access ms-access-2010

我有一张表,其中包含ID和Access中个人的收入。我现在想在这个表中添加一个列,其中包含个人所属的收入五分之一(5%),即1,2,3 ......,具体取决于个人的收入。 我已经从不同的数据集计算了五分位数的上限,并将它们存储在另一个表中。 最初我计划在表视图中的“计算字段”中使用WHEN函数执行此操作。但是因为我想使用5%的五分位数,我需要20个WHEN条件,Access无法处理(“你输入的功能太复杂了。”)。

有没有办法用查询做到这一点?

1 个答案:

答案 0 :(得分:0)

使用join执行此操作。假设另一个表有这些列:

  • 位数
  • 下界
  • 上界

然后做:

select t.*,
       (select quantile
        from othertable as ot
        where t.value >= ot.lowerbound and t.value < ot.upperbound
       ) as quantile
from mytable as t;

确切的逻辑取决于数据的性质(例如,包含或排除的边界)。你的问题没有提供具体细节,所以这是指导。

如果第一个表中有quantile列,您还可以使用类似的查询来更新该值。