2013-10-03 77 views
1

我有這樣一個表(其實SuccessFlag更復雜)通過查詢組合計數組到單個表

AccountId SubaccountId SuccessFlag Count 
10  1   true  5 
10  1   false  1 
10  2   true  6 
10  2   false  2 
21  1   true  7 
21  1   false  3 
21  2   true  8 
21  2   false  4 

,需要一個查詢,將形成這樣的表

AccountId SubaccountID Failed Total 
10  1   1  6 
10  2   2  8 
21  1   3  10 
21  2   4  12  

回答

6

如果我正確理解你的問題,你需要這樣的事情:

SELECT AccountId, SubaccountID, 
    SUM(CASE WHEN SuccessFlag = 'false' THEN [Count] ELSE 0 END) AS Failed, 
    SUM([Count]) AS Total 
FROM MyTable 
GROUP BY AccountId, SubaccountID 
+0

不, 我需要總計算爲總和o f爲每個帳戶子帳戶對計數。 – loshurik

+0

這正是我的例子所做的,因爲我在帳戶和子帳戶上使用GROUP BY。 – Dan

+1

http://sqlfiddle.com/#!3/15fa8/1 – Dan