2009-07-14 125 views
0

看看下面註冊Access查詢

type  qty total 
    A   10 10 
    A   5  15 
    S   7  8 
    A   12 20 
    S   5  15 

我想要的訪問查詢,可以發現總也就是說,如果類型是「A」將它添加到總量和例如,如果類型是從total.Can「S」減任何人都幫助我。

回答

1

您可以使用IIF函數反轉S型的行,如:

subtotal: IIf([type]="S",-[total],[total]) 

SELECT Sum(IIf([type]="S",-[total],[total])) AS subtotal 
FROM table; 

或者在查詢視圖中,您可以通過添加一個新的領域爲做到這一點

然後激活工具欄中的總計圖標,並選擇總和作爲彙總值。

+0

不確定您是否正確解釋了「總計」,即他們的名稱是「總計」還是他們希望總計(SUM)?我真的不知道。 – onedaywhen 2009-07-14 09:45:35

0

事情是這樣的:

SELECT T1.type, T1.qty, T1.total, T1.total + T1.qty AS subtotal 
    FROM MyTable AS T1 
WHERE T1.type = 'A' 
UNION ALL 
SELECT T1.type, T1.qty, T1.total, T1.total - T1.qty AS subtotal 
    FROM MyTable AS T1 
WHERE T1.type = 'S'; 

或可能這樣的:

SELECT T1.type, T1.qty, T1.total, 
     T1.total + SWITCH(
         T1.type = 'A', T1.qty, 
         T1.type = 'S', 0 - T1.qty, 
         TRUE, NULL 
         ) AS subtotal 
    FROM MyTable AS T1; 
的基礎上你找到更容易閱讀,你想怎麼處理行,其中既不是「A」,也不作者:

',哪一個表現最好(按IMO的順序)。

0
SELECT IIF(Type = 'A',total + qty,total - qty) as newTotal from table1