2016-03-07 19 views
0

我真的有問題試圖總結一個表的列,然後根據另一個表的數據對其進行分組。他們唯一的共同鑰匙是帳號。如何從一個表中總結一列並使用另一個表的列中的數據對總和進行分組

這裏的情景

table 1. 

account_no volume read_date 
1   32  12016 
2   22  12016 
3   20  12016 
4   21  12016 
5   54  12016 
3   65  12016 
7   84  12016 
8   21  12016 
9   20  12016 
10   30  12016 

=================================== ======================

table 2 

account_no Zone 
1   A 
2   A 
3   B 
4   B 
5   A 
3   A 
7   B 
8   B 
9   C 
10   C 

結果

Zone Total 
A  173 
B  146 
C  50 

到目前爲止,這是我的查詢如何去

Select sum(volume) as Total, read_date as bDate 
GROUP BY bDate 
ORDER By bDate 

它能夠總結基礎上,read_date 任何幫助將是非常讚賞的所有卷...

+0

你讓我混淆了多帳戶3記錄。我想第二個#3真的是要在這兩個表中排在第6位?這引出我的疑問:表1或表2中的單個賬戶甚至可以有多個記錄,或者賬戶號碼是兩個表中的唯一鍵? –

回答

0

試試這個,這將基於read_dates和區域

SELECT A.read_date 
    ,B.Zone 
    ,sum(A.volume) SumOfVolume 
FROM @Table1 A 
INNER JOIN @Table2 B ON A.account_no = B.account_no 
GROUP BY A.read_date 
    ,B.Zone 
+0

這真的是非常棒的幫助......這真的是非常棒的......非常感謝您的幫助...... – william

+0

@William:不客氣。請選擇適用於您的方案的答案。 – StackUser

1

你只需要JOIN兩個表一起,做一個GROUP BY Zone

SELECT t2.Zone, SUM(volume) AS Total 
FROM table1 AS t1 
INNER JOIN table2 AS t2 
ON t1.account_no = t2.account_no 
GROUP BY t2.Zone 
+0

謝謝喬治亞州的幫助...現在我有問題根據read_dates總結出來,然後根據區域對它們進行分組。 – william

+0

@william你可以發佈基於'read_date'的所需結果嗎? –

0

這可以通過使用來完成總結:

SELECT SUM(TBL1.Volume) AS Total, TBL2.Zone 
FROM TABLE1 AS TBL1 
INNER JOIN TABLE2 AS TBL3 
ON TBL1.Account_No = TBL2.Account_No 
GROUP BY TBL2.Zone 
相關問題