0

我正在尝试对存储在 Access 中的数据进行一些复杂的计算(类似于限制)。我可以通过使用分层/嵌套查询来执行计算,其中每个表达式都基于最后一个的结果。我的问题是,在大约第 9 次迭代中,我收到“查询太复杂”错误。我的理解是这是因为 Access 限制了可以同时执行的子查询的数量。是否有在 SELECT 语句中使用 AS 的替代方法,可以让我在同一个查询中执行更多迭代?我试图简化我的 SQL 以更好地展示我在做什么(忽略示例中执行的实际计算)。

SELECT Tbl_1.VarA, Tbl_1.VarB,
(VarA^2*([VarA]+[VarB])/2) AS EQ1,
(VarA^2*([VarA]+[EQ1])/2) AS EQ2
FROM Tbl_1

我目前的工作是将最后一次迭代保存到表中,然后对该值运行第二个查询。不过,我觉得这确实是一种不好的做法。

我尝试过,但未成功:(1)基于第一个查询(2)用它们的值替换常量变量(3)嵌套方程,即 (VarA^2*([VarA]+(VarA^2 *([VarA]+[VarB])/2))/2) AS EQ2

如果我没有正确提及某些内容,我会提前道歉,因为我是相对较新的人。

4

1 回答 1

0

尝试将计算列添加到表中,并将这些表达式用于 EQ1 和 EQ2

http://msdn.microsoft.com/en-us/library/ff945943.aspx

于 2012-06-25T22:13:50.170 回答