强制访问接受SELECT,GROUP BY和ORDER BY中的Table。*?

时间:2015-08-11 21:15:00

标签: sql ms-access-2010

我在表TheTable上有以下查询。对于每条记录,它会查找具有相同Field1和Field2的所有记录,并且在Field3中具有较小的值,然后对Field5求和。

SELECT OuterQuery.Field1,
       OuterQuery.Field2,
       OuterQuery.Field3,
       OuterQuery.Field4,
       OuterQuery.Field5,
       SUM(InnerQuery.Field5) AS Accumulate5
FROM TheTable OuterQuery INNER JOIN TheTable InnerQuery
ON InnerQuery.Field1  = OuterQuery.Field1 AND
   InnerQuery.Field2  = OuterQuery.Field2 AND
   InnerQuery.Field3 <= OuterQuery.Field3
GROUP BY OuterQuery.Field1,
         OuterQuery.Field2,
         OuterQuery.Field3,
         OuterQuery.Field4,
         OuterQuery.Field5
ORDER BY OuterQuery.Field1,
         OuterQuery.Field2,
         OuterQuery.Field3,
         OuterQuery.Field4,
         OuterQuery.Field5

对于这样一个简单的函数,编码和认知解析非常繁琐。 SELECT,GROUP BY和ORDER BY子句在概念上可以替换为OuterQuery。*,但Access并不接受它。我不认为有一个应用程序切换或编码习惯用法允许这种优雅的外卡?如果你必须格式化其中一个字段,上面的代码会变得更加丑陋,因为FORMAT表达式也被复制了。

我已将此发布到:

0 个答案:

没有答案