![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Суммирование по БД. [D6, IB5.x]
off © (2003-05-15 07:19:00)Здравствуйте мастера. Использую I-Base. Есть две таблицы (Мастер-Детаил, связь один ко многим) "Счета" и "Оборот".
Вопрос: Что надо написать в IBQuery, что бы в итоге получить все счета на которых сумма оборотов за период превысила некоторое значение?
Zacho (2003-05-15 08:25:00) [21]
> off © (15.05.03 08:15)
Добавь
HAVING SUM( COUNTCOM.SUMMALL )-SUM( PAY.SUMMPAY ) > XXX
off (2003-05-15 08:15:00) [22]Ходят тут всякие, работать не дают, подумаешь комп из домена выпал :-)
Пишу следующее:
SELECT SUM( COUNTCOM.SUMMALL ) SUM_OF_SUMMALL, SUM( PAY.SUMMPAY ) SUM_OF_SUMMPAY, CONS.CODECONS, где
FROM PAY
INNER JOIN CONS ON (PAY.CODECONS = CONS.CODECONS)
INNER JOIN COUNTCOM ON (CONS.CODECONS = COUNTCOM.CODECONS)
GROUP BY CONS.CODECONS
CONS - таблица потребителей,
COUNTCOM - таблица начислений,
PAY - таблица оплаты.
"CODECONS" - индивидуальный код потребителя,
"SUMMALL" - сумма начислений,
"SUMMPAY" - сумма оплат.
off (2003-05-15 07:51:00) [23]А вот еще вопросик. Есть таблица потребителей и подчиненные таблицы начислений и оплаты. Для каждого потребителя нужно посчитать все начисления, все оплаты и посчитать разницу и в вывести только тех у кого разница > ХХХ.
Щас по подробней напишу ...
off (2003-05-15 07:44:00) [24]Спасибо!
Zacho (2003-05-15 07:25:00) [25]Чио-то типа SELECT ..., SUM(..) FROM .. JOIN .. ON .. GROUP BY .. HAVING SUM(..)>..
Если хочешь более подробный ответ - приведи структуру таблиц, лучше сокращенно.