PARAMETERS [First Date] DateTime, [Second Date] DateTime, [Shift] Text ( 255 );
SELECT
Main.[Mth/day],
Main.Shift,
([Run Hrs]*[Actual Lbs/hr]) AS [Gross Production - LBS],
[Scrap Lbs 1]+[Scrap Lbs 2]+[Scrap Lbs 3] AS [Scrap Produced - LBS],
[Run Hrs]*[Actual Lbs/hr]-([Scrap Lbs 1]+[Scrap Lbs 2]+[Scrap Lbs 3]) AS [Net Production],
[Run Hrs]*[Actual Lbs/hr]*0.035 AS [Scrap Target],
[Run Hrs]*[Std lbs/hr]-([Run Hrs]*[Actual Lbs/hr])*0.035 AS [Target Net Production],
[Run Hrs]*[Std lbs/hr] AS [Target Gross Production],
(([Run Hrs]*[Std Lbs/hr])/([Run Hrs]*[Actual Lbs/hr]*0.035)) AS [Target Scrap Rate]
FROM Main
WHERE
(((Main.[Mth/day]) Between [First Date] And [Second Date]
And [Shift]=Main.Shift
And [Std lbs/hr]>0));我还需要对每个计算字段求和,以便他们也可以检索每月总结等。我可以在同一个查询中这样做吗?或者我最好是根据这个查询的结果进行另一个查询?
发布于 2011-08-10 04:14:09
这确实应该在前端或报表编写器中处理,而不是通过SQL。
在MS Access 2007中,应该可以执行以下操作:
应将一个单元格与您的聚合一起添加到报表页脚。
发布于 2011-08-10 03:48:00
从只使用字段和不使用SQL Aggregate Functions的字段表达式的查询开始。然后保存该查询,并将其用作另一个查询的数据源,您可以在该查询中执行求和和任何其他聚合函数。
在其他情况下,您可以仅从第一个查询中提取SQL,并将其用作另一个查询中的子查询。但是,由于名称所需的那些方括号,因此作为子查询,这个查询会很麻烦。
将来,您可以通过选择不需要括号的对象名称来使自己更容易。
https://stackoverflow.com/questions/7001470
复制相似问题