Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Суммирование по БД. [D6, IB5.x]


Страницы:   1 2

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(..)>..
Если хочешь более подробный ответ - приведи структуру таблиц, лучше сокращенно.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо