-1

我在 Access 数据库中有一个查询,它返回以下结果:

MthName 2010
Jan £4.51
Feb £10.20
Mar £17.51
Apr £22.86
May £28.82
Jun £33.30
Jul £37.96
Aug £42.52
Sep £47.88
Oct £54.25
Nov £60.52
Dec £65.80

这很好,但这些是年初至今的数字,我想创建一个可以给我实际月份数字的查询。

以上述样本为例,一月的数字显然是 4.51 英镑,但二月的数字是

(£10.2-£4.51)= £5.70

我尝试过使用 DLOOKUP 之类的东西,但它似乎真的很慢并且无法正常工作。

这可以在 Excel 中很容易地实现,但我希望找到一个查询以供将来使用。

谢谢

4

1 回答 1

0

尽可能避免使用 Dlookup。

如果可以使用 SEQUENCE 月份数添加列 [mntNum] :

mtnNum MthName 2010
01 Jan £4.51
02 Feb £10.20
03 Mar £17.51
04 Apr £22.86
05 May £28.82
06 Jun £33.30
07 Jul £37.96
08 Aug £42.52
09 Sep £47.88
10 Oct £54.25
11 Nov £60.52
12 Dec £65.80

询问

SELECT table.mntNum, table.mntName, table.[2010], [2010]-nz((SELECT [prev].[2010] FROM [table] as [prev] where [prev].[mntNum]=[table].[mntNum]-1),0) AS JUST_THIS_MONTH
FROM [table];

UPD:此查询的结果

mntNum  mntName 2010    JUST_THIS_MONTH
1   Jan 4.51    4.51
2   Feb 10.2    5.69
3   Mar 17.51   7.31
4   apr 22.86   5.35
5   may 28.82   5.96
6   jun 33.3    4.48
7   jul 37.96   4.66
8   Aug 42.52   4.56
9   Sep 47.88   5.36
10  Oct 54.25   6.37
11  Nov 60.52   6.27
12  Dec 65.8    5.27999999999999
于 2013-09-18T13:08:46.673 回答