Я использую довольно старый запрос Microsoft, который поставляется с Excel для запроса базы данных ODBC. Однако это приносит мне неправильную сумму, когда я присоединяюсь к двум таблицам.SQL-запрос, дающий неправильную сумму
Это прекрасно работает:
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
соединенного поля является accountcode.
Поле tr_amount orginates из таблицы deb_trans. Его нет в mailer_master.
Любые идеи? Спасибо, парни!
Если между двумя таблицами нет соответствия 1: 1, вы не можете ожидать получить тот же SUM. Например, если две строки в mailer_master присоединяются к одной из строк в deb_trans, тогда tr_amount будет добавляться дважды для этой строки deb_trans. –
Спасибо. Это одно (mailer_master) -many (deb_trans) соответствие. Deb_trans имеет всю критическую информацию. Я просто хочу приложить дополнительные поля, которые mailer_master имеет через общий код учетной записи. – halohunter
При добавлении второй таблицы SUM становится больше или меньше? –