2个表之间的组求和

时间:2018-11-16 02:39:34

标签: sql ms-access

我正在尝试按2个表之间的组求和。基本上,我试图通过“ Bank_code”仅显示表“ MoneyMovements”组的每个SUM()的表“ Count”。这可能吗?。我尝试了Left连接(包括“ Count”中的“ MoneyMovements”)。但我不明白如何分开总和...任何建议吗?我在VB.NET中使用ACCESS 2007

Table 'Count'
+----+--------------+
|Code|Bank          |
+----+--------------+
|1   |MACRO         |
+----+--------------+
|2   |Santender Rio |
+----+--------------+
|3   |Galicia       |
+----+--------------+

Table 'MoneyMovements'

+-----+--------------+
|Money|Bank_code     |
+-----+--------------+
|200  |1             |
+-----+--------------+
|300  |1             |
+-----+--------------+
|0    |2             |
+-----+--------------+
|500  |3             |
+-----+--------------+
|100  |3             |
+-----+--------------+

Response i Want:
+-----+--------------+
|Money|Bank          |
+-----+--------------+
|500  |MACRO         |
+-----+--------------+
|0    |Santender Rio |
+-----+--------------+
|600  |Galicia       |
+-----+--------------+

2 个答案:

答案 0 :(得分:0)

您需要joingroup by像这样:

Select c.Code, sum(m.Money) as Money
From Count c
inner join MoneyMovements m on c.Code = m.Bank_code
group by c.Code

答案 1 :(得分:0)

在帐户中没有交易时,使用“左联接”获取所有“计数”行,并使用 Nz()显示0:

Select c.Code, Nz(sum(m.Money),0) as Money
From Count c
LEFT JOIN MoneyMovements m on c.Code = m.Bank_code
group by c.Code


访问确实不喜欢表名“ Count”,所以我改用Counts,这是我所做的:

enter image description here

SELECT Counts.code, Nz(Sum(MoneyMovements.Money),0) AS SumOfMoney
FROM Counts LEFT JOIN MoneyMovements ON Counts.Code = MoneyMovements.bank_code
GROUP BY Counts.code;

enter image description here