|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
Здравствуйте. Необходимо сделать отчет, в котором горизонтально месяцы, а вертикально параметры отбора. я сделал вот такое (см. скрин). Там ID - номер строки, MOUNT - месяц, а COUNT - показатель. Все норм, только в столбик. А мне нужно в строчку MOUNT вывести, а в столбик ID. На пересечении COUNTS. Это процедура CEL_POK_MOUNT(:YEARS) - берется за год. Я хочу сделать вторую процедуру, которая будет выполнять правильно представление. Вот что я написал, но у меня цикл по запросу, а я хочу цикл внутри запроса, то есть за один проход разбивка по месяцам. Код второй процедуры: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 11:11 |
|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
Rphoenix, в чём именно затруднение? Создай селективную процедуру с возвратом ID и 12 колонок COUNT с названием месяцев, в выборку добавь ORDER BY ID, MOUNT и также распихивай через операторы условия. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 11:27 |
|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
rdb_dev, Проблема, очевидно, в counts = 0; первым оператором внутри цикла.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 11:38 |
|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
Rphoenix, вот как-то так... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 11:50 |
|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
Rphoenix Код: sql 1. 2. 3. 4.
А ты, что не можешь в одном запросе и MIN, и MAX получить ? Или "чиста" дать серверу погрецца ? :) И вообще, здесь всё решается одним запросом Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 12:00 |
|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
Vlad F, я особо не вникал, так как там бред понаписан. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 12:00 |
|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
court, во! Одним запросом ваще зачётно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 12:07 |
|
Помогите оптимизировать запрос
|
|||
---|---|---|---|
#18+
Большое спасибо! Тоже думал про группировку через ID, но не знал как, час просидел и ничего не получалось... теперь буду знать, что через sum по case можно будет группировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 14:18 |
|
|
start [/forum/topic.php?fid=40&msg=39790059&tid=1560777]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 238ms |
0 / 0 |