|
本帖最后由 todaynew 于 2009-4-8 21:38 编辑
1、查询:
SELECT a.ID, a.姓名, a.配额, (select sum(b.配额) from 表2 as b where b.ID<=a.ID) AS 累计
FROM 表2 AS a;
2、实得数查询:
SELECT a.ID, a.姓名, a.配额, a.累计, iif(累计<=8,累计,iif(dlookup("累计","查询","ID=" & a.id-1)<=8,8-dlookup("累计","查询","ID=" & a.id-1),0)) AS 实得数
FROM 查询 AS a;
说明:
1、由于运用了子查询和Dlookup函数,当记录数量较大时,运用会比较慢。
2、考虑到表1仅有一条记录,所以没有引用表1,而是直接取了一个常数。如果表1有多条记录时,在以上查询的常数处,可采用Dlookup函数引用表1中的相应数据。
3、两个查询也可以合并,只是过于复杂使得可读性较差,因此采用了目前的写法,便于你理解。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|