我有3个表UNION
用于计算某些余额,我需要获得该余额的SUM
,但我不能使用PARTITION OVER
,因为我必须这样做使用可在Access中工作的SQL查询。
我的问题是我不能在别名子查询上使用JOIN
,它将无效。
如何在JOIN
中使用别名来获取总计?
或获取SUM
的{{1}}的任何其他方式,因为它在Access中不存在。
到目前为止,这是我的代码:
PARTITION OVER
答案 0 :(得分:1)
您可以为3个表中的Query1
保存查询(我们将其命名为UNION
),然后创建另一个查询,返回第一个查询中的每一行并计算行的总和在它之前(可选地检查它们是否在同一组中)。
它应该是这样的:
SELECT *, (
SELECT SUM(Value) FROM Query1 AS b
WHERE b.GroupNumber=a.GroupNumber
AND b.Position<=a.Position
) AS RunningSum
FROM Query1 AS a
但是,在报告中这样做效率更高。