我正在尝试按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 |
+-----+--------------+
答案 0 :(得分:0)
您需要join
和group 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
,这是我所做的:
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;