|
本帖最后由 todaynew 于 2009-4-9 13:48 编辑
1、查询:
SELECT a.ID, a.组, a.姓名, a.配额, (select sum(b.配额) from 表2 as b
where b.ID<=a.ID and b.组=表1.组) AS 累计, 表1.总额
FROM 表1
INNER JOIN 表2 AS a ON 表1.组=a.组;
2、实得数查询:
SELECT a.ID, a.组, a.姓名, a.配额, a.累计, a.总额, IIf([累计]<=[总额],[配额],IIf(DLookUp("[累计]","[查询]","ID=" & [ID]-1 & " and 组='" & a.组 & "'")<[总额],[总额]-DLookUp("[累计]","[查询]","ID=" & [ID]-1 & " and 组='" & a.组 & "'"),0)) AS 实得数
FROM 查询 AS a;
说明:
1、增加了一个表1,这样可以避免数据冗余;
2、在表2中增加了一个ID字段,便于计算累计数;同时删除了实得数字段,因该字段为计算结果。
3、表1与表2以[组]字段建立一对多关系。
4、删除了表3,该表无用处。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|