我在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
这很好,但这些是年初至今的数字,我想创建一个可以给我实际月份数的查询。
采取上面的样本,Jan数字显然是4.51英镑,但是2月数字是
(£10.2-£4.51)=£5.70
我尝试过使用像DLOOKUP这样的东西,但它似乎很慢并且无法正常工作。
这可以在Excel中轻松实现,但我希望找到一个查询以供将来使用。
由于
答案 0 :(得分: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