Показать сообщение отдельно
Старый 02.03.2006, 17:42   #1  
vasiliy is offline
vasiliy
Программер
 
288 / 17 (1) ++
Регистрация: 21.10.2004
Адрес: E-burg
? Как работает группировка в запросе?
Запрос с группировкой возвращает неверные данные. Точнее не те что надо В таблице BankAccountTrans есть две записи с одинаковым Voucher and TransDate. В LedgerTrans есть тоже две записи с такими же Voucher and TransDate. По идее у нас должно получиться следующее. Выбраться одна строка из BankAccountTrans и к ней две строки из LedgerTrans. Проблема в том, что суммы в LedgerTrans задваиваются. Почему так?????
Вот запрос:
SELECT AccountId, TransDate, SUM(AmountMST)
FROM BankAccountTrans
GROUP BY BankAccountTrans.AccountId ASC, BankAccountTrans.TransDate ASC
WHERE ((TransDate>=01.01.2006 AND TransDate<=31.01.2006))
JOIN TransDate, Dimension[2], DocumentNum, DocumentDate, JournalNum, Txt, Crediting, SUM(AmountCur)
FROM LedgerTrans
GROUP BY LedgerTrans.TransDate ASC, LedgerTrans.Dimension[2] ASC, LedgerTrans.DocumentNum ASC, LedgerTrans.DocumentDate ASC, LedgerTrans.JournalNum ASC, LedgerTrans.Txt ASC, LedgerTrans.Crediting ASC
WHERE BankAccountTrans.TransDate = LedgerTrans.TransDate AND BankAccountTrans.Voucher = LedgerTrans.Voucher AND ((AccountNum LIKE 51*)) AND ((Voucher LIKE ????000075)) AND ((((BankAccountTrans.AmountCur < 0) && (ledgerTrans.AmountCur < 0)) || ((BankAccountTrans.AmountCur >= 0) && (ledgerTrans.AmountCur >= 0))))

Последний раз редактировалось vasiliy; 02.03.2006 в 17:46.