这就是我到目前为止在SQL代码中所做的......
SELECT DISTINCTROW [OEE/A Query].Press,
Sum([OEE/A Query].[SumOfLabor Hours]) AS [Sum Of SumOfLabor Hours],
Sum([OEE/A Query].[SumOfGood Pieces]) AS [Sum Of SumOfGood Pieces],
Sum([OEE/A Query].[Scrap Pieces]) AS [SumOfScrap Pieces],
Sum([OEE/A Query].[SumOfMachine Hours]) AS [SumOfSumOfMachine Hours],
Sum([OEE/A Query].[Total Parts Hours Earned]) AS [SumOfTotal Parts Hours Earned],
Sum([OEE/A Query].[Standard Pcs Expected]) AS [Stand Pcs Expected]
FROM [OEE/A Query]
GROUP BY [OEE/A Query].Press;如何在此代码中添加另一个包含5个独立字段的字段?
以下是我认为它可能是什么样子,但我不确定……
SELECT Sum(Sort+Straighten+Shine+Standardize+Sustain)
SUM(Sort),
SUM(Straighten),
SUM(Shine),
SUM(Standardize),
SUM(Sustain),
FROM [Shift Report Table];发布于 2010-02-02 21:25:29
这取决于你真正问的是什么。我不确定您的第二个查询是另一个示例,还是实际上是要添加到您的第一个查询中的另一个数据源。
如果您想根据查询中已有的列向第一个查询示例中添加另一个列,那么可以,只需将它们添加到一起,就像CK所说的那样。
例如:
select sum(column1) + sum(column2) as sum_c1_c2或
select sum(column1 + column2) as sum_c1_c2在做聚合函数时,我有一个老习惯,那就是处理空值,以确保得到我认为应该得到的结果。例如:
select sum(nz(column1,0) + nz(column2,0)) as sum_c1_c2 现在,如果您正在询问如何从不同的数据源添加新列,那么您可以连接到另一个数据源,或者,如果只返回单个值,则可以使用内联select。
另外,还有一句关于distinctrow的警告-我不确定你是否想在你的查询中使用它。您正在执行group by,因此根据您的SUM()函数,只有press的唯一值将与聚合列一起被选择。它对于确定(举个例子)是否已经订购了产品这样的事情真的很有用。
select DISTINCTROW productname
from products
inner join orders on orders.productid = products.productid将只返回1行,因此在上面的情况下没有机会进行任何聚合。
但是您可能想要更多地阐明您的需求。CK可能已经给出了答案,或者,我们可能需要包含不同的数据源(例如您的第二个查询)。
发布于 2010-02-02 20:48:32
是的,这是正确的。您可以在sum函数中添加字段,以求出字段的总和。
https://stackoverflow.com/questions/2184056
复制相似问题