SQL查询给出了错误的总和

时间:2012-02-20 07:08:28

标签: sql odbc

我正在使用Excel附带的相当旧的Microsoft Query来查询ODBC数据库。但是当我加入两张桌子时,它给了我错误的总和。

这很好用:

SELECT accountcode, SUM(tr_amount)
FROM deb_trans deb_trans
WHERE (today() > dr_tr_due_date + 14)
GROUP BY accountcode

然而,这不是:

SELECT deb_trans.accountcode, Sum(deb_trans.tr_amount)
FROM deb_trans deb_trans, mailer_master mailer_master
WHERE (today()>dr_tr_due_date+14) AND (mailer_master.accountcode=deb_trans.accountcode)
GROUP BY deb_trans.accountcode

加入的字段是帐户代码。

来自deb_trans表的字段tr_amount orginates。它在mailer_master中不存在。

有什么想法吗?谢谢你们!

1 个答案:

答案 0 :(得分:1)

如果您加入表格,则每个组合都会得到一行,该行与分组前的过滤条件相对应。在这种情况下:按日期过滤的每个deb_trans和mailer_master组合的一行。如果你想要一个有效的总和,你不应该以行数(分组前)的方式加入另一个表。

相关问题