powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Суммирование
6 сообщений из 6, страница 1 из 1
Суммирование
    #38715468
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Слегка заклинило.

есть таблицы

dog
idnametypesumm1'n1'13332'n2'2444

payments
dog_idsumm13331444


собственно надо ссумировать все платежи и начальные суммы договоров не по договорам, а по типам
в запросе
Код: sql
1.
2.
select   dog.type,sum(dog.summ),sum(payments.summ)    from dog
left join payments on payments.dog_id = dog.id



при наличии нескольких платежей в одном договоре задваивается первая сумма. Если поставить sum(distinct dog.summ), то при наличии нескольких договоров с одинаковой суммой результат некорректен.

Где что упустил? Как подправить?

Спасибо
...
Рейтинг: 0 / 0
Суммирование
    #38715475
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqГде что упустил? Как подправить?
Во-первых, ты упустил group by. Во-вторых, джоинь с уже посчитанными суммами используя
derived table.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Суммирование
    #38715976
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,


да. group by в примере упустил.


По поводу join с уже посчитанными суммами.
тип договора у меня получается join трех таблиц к таблице договоров ) период выборки - по зависимой таблице к таблице договоров. может конечно и переборщил.

те получается чтобы суммы посчитать надо соединить 3 таблицы для получения типа договора и еще 4 для получения суммы.

получается если в этой выборке использовать derived table, то надо будет еще раз делать выборку из 3 таблиц чтобы получить тип договора.
Перемудрил? Или в порядке вещей?
...
Рейтинг: 0 / 0
Суммирование
    #38715982
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqПеремудрил?
Однозначно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Суммирование
    #38716372
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вложенный подзапрос вас спасет
...
Рейтинг: 0 / 0
Суммирование
    #38716573
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergqГде что упустил? Как подправить?
Например. подсчитать сначала сумму платежей по договору, а затем уже группировать по типу.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Суммирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]