powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с запросом
6 сообщений из 6, страница 1 из 1
помогите с запросом
    #33241121
Perederiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть 3 таблицы
t1 - поле id1
родительская для 2 таблиц
t2 id1,id2,summa
t3 id1,id3,summa
во второй хранятся начисления за месяц
в третьей оплата
может быть ситуация - две записи начислений, но одна оплата
делаю
select a.id1,b.summa,c.summa from t1 a LEFT JOIN t2 b on (a.id1=b.id1) LEFT JOIN t3 c on (a.id1=c.id1)
получаем 12 65.43 70
12 12.45 70
те он на каждую строку начислений дублирует сумму оплаты (70), хотя она была всего 1 раз в месяце

помогите
...
Рейтинг: 0 / 0
помогите с запросом
    #33241344
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select a.id1,sum(b.summa),sum(c.summa) from t1 a LEFT JOIN t2 b on (a.id1=b.id1) LEFT JOIN t3 c on (a.id1=c.id1) group by a.id1
...
Рейтинг: 0 / 0
помогите с запросом
    #33241403
Perederiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пробовал
возвращает 12 77.88 140
надо 12 77.88 70
...
Рейтинг: 0 / 0
помогите с запросом
    #33241613
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select a.id1,b.summa,c.summa from t1 a
LEFT JOIN ( select id1, sum(summa) as summa from t2 group by id1 ) b on (a.id1=b.id1)
LEFT JOIN ( select id1, sum(summa) as summa from t2 group by id1 ) c on (a.id1=c.id1)
...
Рейтинг: 0 / 0
помогите с запросом
    #33241665
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBatselect a.id1,b.summa,c.summa from t1 a
LEFT JOIN ( select id1, sum(summa) as summa from t2 group by id1 ) b on (a.id1=b.id1)
LEFT JOIN ( select id1, sum(summa) as summa from t2 group by id1 ) c on (a.id1=c.id1) а так не проще:

select a.id1,
(select sum(summa) as summa from t2 WHERE t2.id1 = a.id1 group by id1 ),
( select id1, sum(summa) as summa from t2 WHERE (t1.id1=a.id1) group by id1 )
from t1 a
...
Рейтинг: 0 / 0
помогите с запросом
    #33241668
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
недочистил:

select a.id1,
(select sum(summa) as summa from t2 WHERE t2.id1 = a.id1 group by id1 ),
(select sum(summa) as summa from t2 WHERE (t1.id1=a.id1) group by id1 )
from t1 a
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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