2010-02-02 41 views
0

5個領域的獨立字段這是我在SQL代碼到目前爲止........微軟Access 2003中 - 創建總計從表

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]; 

回答

0

是的,這是正確的。您可以在求和函數中添加字段,以總和字段的總和。

1

這取決於你真正要求的。我不確定您的第二個查詢是否僅僅是另一個示例,或者如果它實際上是要添加到第一個查詢中的另一個數據源。

如果你想添加另一列到你的查詢中已經存在的列的第一個查詢的例子,那麼是的,只需將它們加在一起,按照CK的說法。

例如

select sum(column1) + sum(column2) as sum_c1_c2 

select sum(column1 + column2) as sum_c1_c2 

做聚合函數時,我有處理NULL值,以確保我得到我想我應該得到結果的老習慣。例如

select sum(nz(column1,0) + nz(column2,0)) as sum_c1_c2 

現在,如果你是問如何從不同的數據源中添加一個新列,那麼你可以加入到其他數據源,或者,如果只返回一個值,可以使用內嵌選擇。

此外,一個關於distinctrow的警告 - 我不知道你想在你的查詢中使用它。你正在做一個分組,所以只有[按]的唯一值將根據你的SUM()函數與聚合列一起被選中。對於確定是否已(例如)已經訂購了一個產品,

select DISTINCTROW productname 
from products 
inner join orders on orders.productid = products.productid 

將只返回1行,因此在上述情況下沒有任何聚合的機會。

但是,您可能想澄清一下您的需求。 CK可能已經給出了答案,或者,我們可能需要包含一個不同的數據源(例如您的第二個查詢)。