powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос что бы сумма значений при мультиджоине не дублировалась, как?
2 сообщений из 2, страница 1 из 1
запрос что бы сумма значений при мультиджоине не дублировалась, как?
    #39638234
sgala
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select id, sum(amount) from table group by id
тут все понятно и очевидно, идет группировка по ИД, выбираем сумму

дальше допустим table1, table2 связанные "один ко многим". допустим 1 таблица товары, другая таблица покупки этих товаров
select table1.id, sum(table2.amount) from table1 left join table2 table1.id=table2.goods_id group by table1.id
тоже все понятно

но получается чехарда когда я пытаюсь в один запрос запихнуть сразу много таблиц
допустим тот же 2 запрос только расширенный
select table1.id, sum(table2.amount) from table1 left join table2 table1.id=table2.goods_id
left join category_table on table1.id=category_table.goods_id
group by table1.id
в таком случае сумма получается бОльшей, я в принципе понимаю почему, т.к. некоторые значения из таблицы 2 получаются суммируются по несколько раз, но не понимаю как это исправить.
в идеале нечто вроде sum( только уникальные значения table2_id amount)
но как?
...
Рейтинг: 0 / 0
запрос что бы сумма значений при мультиджоине не дублировалась, как?
    #39638254
sereginseregin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sgala,

sum(table2.amount) считай в подзапросе
результат подзапроса используй уже в основном запросе

Код: plsql
1.
2.
3.
4.
5.
6.
select table1.id
   , table2.sum_amount 
from table1 
left join (SELECT goods_id, sum(table2.amount)  AS sum_amount FROM table2) AS  table2 ON table1.id=table2.goods_id  
left join category_table on table1.id=category_table.goods_id
group by table1.id
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / запрос что бы сумма значений при мультиджоине не дублировалась, как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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