我有一个表A,其中有许多相同的 CODNEG 和 Date 条目:
CODNEG QUATOT VOLTOT Date
ABCD11 937 103070 31/01/2011
ABCD11 1976 205504 31/01/2011
ABCD11 1859 193336 31/01/2011
ABCD11 1026 110808 28/02/2011
ABCD11 49 4410 31/07/2011
XYZW11 35 3570 31/01/2011
XYZW11 627 63954 31/01/2011
. . . .
. . . .
. . . .
我正在尝试创建一个查询,该查询的字段值为: VOLTOT 的总和/ QUATOT 的总和。例如,如果日期是2011年7月31日,那么过去12个月中的CODNEG ,我想将2010年8月/ 7月的值相加/ 2011。
我发现了一些类似的问题,但是我无法根据他们的解决方案解决这个问题,因为特殊性数字(2)使其与众不同。 我想知道是否可以做我想做的事情,如果可以,我该怎么做。任何帮助将不胜感激。
答案 0 :(得分:1)
您将使用相关子查询。根据您的日期算术,我认为应该是:
select t.*,
(select sum(a2.voltot) / sum(a2.quatot)
from a a2
where a2.codneg = a.codneg and
a2.date > dateadd("m", -12, date) and
a2.date <= date
) as ratio
from a;
如果您实际上想要整整几个月的时间,可能会有些复杂,但是想法是相同的。
答案 1 :(得分:1)