|
|
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
Имеется три таблицы: счета, стоимость товара в них, и таблица с оплатами по этому счету (их может быть несколько). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Нужно подсчитать суммы товаров и оплат для каждого счета, т.е. ожидаю получить: Код: plaintext Если нужно подсчитать сумму чего-то одного, например товаров в счете, то проблем не возникает: Код: sql 1. 2. 3. 4. Получается Код: plaintext Но когда я прибавляю второй JOIN то все суммы еще раз удваиваются: Код: sql 1. 2. 3. 4. 5. 6. Код: plaintext А как правильно сделать в этом случае?.. Чувствуется что надо как-то их разделить но все не могу понять как. Заранее благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 16:35:42 |
|
||
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
Greiderкак правильно сделать в этом случае? Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 16:56:51 |
|
||
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
Akina, спасибо! Но почему-то Код: sql 1. 2. 3. выдает ошибку Unknown column 'items.sheet' in 'on clause' : Но раз уж видно все равно придется использоваться несколько селектов, то вот так - без JOIN - получается: Код: sql 1. 2. 3. 4. Или с JOIN должно быть лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 17:51:30 |
|
||
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
Greiderпочему-то Код: sql 1. 2. 3. выдает ошибку Unknown column 'items.sheet' in 'on clause' Ну потому что безграмотно. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 18:22:55 |
|
||
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
Greider, авторИмеется три таблицы: счета, стоимость товара в них, и таблица с оплатами по этому счету (их может быть несколько). Нужно подсчитать суммы товаров и оплат для каждого счета, т.е. ожидаю получить: Нужно считать отдельно двумя запросами, НЕ JOINить товары счёта и оплаты друг с другом. Два запроса или подзапроса с отдельными группировками, затем -- JOIN результатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2016, 18:38:38 |
|
||
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
Akina, точняк, я пытался делать алиасы всему подряд, теперь дошло, селекту свои алиасы, джоину свои, спасибо ) авторДва запроса или подзапроса с отдельными группировками, затем -- JOIN результатов. А чем вариаинт без JOINов принципиально отличается (в рамках последующего вывода на веб-страницу)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 10:24:20 |
|
||
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
Greiderчем вариаинт без JOINов принципиально отличается Планом выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 11:07:37 |
|
||
|
Два JOINa и SUM() - помогите скорректировать запрос
|
|||
|---|---|---|---|
|
#18+
GreiderAkina, точняк, я пытался делать алиасы всему подряд, теперь дошло, селекту свои алиасы, джоину свои, спасибо ) С учётом того, что алиасы таблицам даются, это какой-то бред. GreiderавторДва запроса или подзапроса с отдельными группировками, затем -- JOIN результатов. А чем вариаинт без JOINов принципиально отличается (в рамках последующего вывода на веб-страницу)? Тем, что если JOINить к данной таблице ещё две таблицы по связи 1:N каждая, то записи будут множиться как N**2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2016, 16:36:43 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1832254]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 375ms |

| 0 / 0 |
