Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
запрос что бы сумма значений при мультиджоине не дублировалась, как?
|
|||
|---|---|---|---|
|
#18+
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) но как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2018, 01:09 |
|
||
|
запрос что бы сумма значений при мультиджоине не дублировалась, как?
|
|||
|---|---|---|---|
|
#18+
sgala, sum(table2.amount) считай в подзапросе результат подзапроса используй уже в основном запросе Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2018, 09:32 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1829882]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 159ms |

| 0 / 0 |
