|
|
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть таблица Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Необходимо вывести для каждого типа и серии поля "Номер с", "Номер по" значения которых отличается на 1. Т.е должно получиться что-то вроде этого: typeserialnum_from num_to22 'FFF' '32' '34'22 'FFF' '52' '53'22 'FFF' '55' '55'22 'FFF' '61' '64' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 13:01:38 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
group by по разности между row_number() и doc_number ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 13:09:30 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
Hibiscus, start_of_group ищи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 13:09:36 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхgroup by по разности между row_number() и doc_number Гениально! Я чувствовал что как-то можно! Но получалось только два-три раза обернув запросами. А так - красота. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 13:18:11 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
HibiscusНо получалось только два-три раза обернув запросами. А так - красота.Ну, один-то раз все же обернуть придется... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 13:22:05 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхHibiscusНо получалось только два-три раза обернув запросами. А так - красота.Ну, один-то раз все же обернуть придется... Код: 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. В row_number() надо будет еще partition by добавить, но это моя вина - в тестовом примере только один doctype и один doc_serial ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2015, 13:26:02 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
Внезапно снова понадобилась выбрать непрерывные интервалы, но текущее решение не совсем подошло. так как усложнились требования: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Потребовалось получить USER_ID и интервалы NPP где NPP возрастает непрерывно. Сложность оказалась в том, что user_id может повторяться и partition by по нему дает неверный результат. Желаемый результат: user_idnpp_fromnpp_to1231152212335566 Можете что-нибудь подсказать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 10:56:53 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
STFF start_of_group ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 11:07:08 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
Hibiscus, а какие сложности? всё ровно тоже самое: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 11:16:11 |
|
||
|
Как опредить интервалы номеров документов
|
|||
|---|---|---|---|
|
#18+
Hibiscus, group by user_id, npp - row_number() over(p.by user_id o.by npp) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2016, 11:19:07 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=38949647&tid=1887999]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 184ms |
| total: | 301ms |

| 0 / 0 |
