Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Суммирование / 6 сообщений из 6, страница 1 из 1
07.08.2014, 22:35
    #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
07.08.2014, 22:59
    #38715475
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Суммирование
sergqГде что упустил? Как подправить?
Во-первых, ты упустил group by. Во-вторых, джоинь с уже посчитанными суммами используя
derived table.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.08.2014, 14:00
    #38715976
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Суммирование
Dimitry Sibiryakov,


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


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

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

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


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