|
Агрегация значений нескольких ячеек в одну
|
|||
---|---|---|---|
#18+
Доброго времени суток, уважаемые :) Поиск мне мало чем помог, так что перехожу сразу к делу. Что имеем: num | value 1 -> aaaaaaa 1 -> bbbbbbbbbbb 1 -> ccccccc 2 -> aaaaaaaa 2 -> bbbbbbbb 3 -> ccccccccccc 3 -> ddddddddddd 3 -> aaaaaa 3 -> bbbbbbbbbb 3 -> yyyyyyy Что нужно получить 1 -> aaaaaaa-bbbbbbbbbbb/ccccccc-+ 2 -> aaaaaaaa-bbbbbbbb- 3 -> ccccccccccc/ddddddddddd/aaaaaa-bbbbbbbbbb+ Немного условий и пояснений. 1. Объемы данных - сотни Мб (собственно, в скорости обработки и дело) 2. Value разделяются символом "/" 3. Если value длиной менее 10 символов, после него необходимо проставить символ "-", он же будет служить разделителем 4. Если всех value больше, чем умещается в 30 символов, в конце ставится символ "+" 5. Последний value может быть урезан не более чем на 2 символа от своей исходной длины. P.S. мои вряд ли грамотно составленные циклы обещают работать не одни сутки. Буду благодарна за любую наводку. Да и интересно стало: как можно было б просто агрегировать все значения value с одним разделителем? Есть ли тут альтернатива оракловскому LISTAGG? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2012, 17:59 |
|
Агрегация значений нескольких ячеек в одну
|
|||
---|---|---|---|
#18+
Не так давно была похожая тема. Принцип тот же - воспользоваться SCAN и наполнить курсор нужными наборами. Вот только я не совсем понял ваши принципы, например: - ответ(1) противоречит условию(4) - общая длина всех символов = 25, а в конце стоит + - ответ(3) где-то потерял значение yyyyyyy - порядок значений в наборе определяется физической последовательностью записей в таблице? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2012, 21:25 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1583259]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
18ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 431ms |
0 / 0 |