|
|
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
Добрый день, задача следующая: одной процедуре может соответствовать от одного до бесконечности кодов. Это хранится в таблице структуры id, code. Необходимо в запросе выводить это в следующем виде id, список кодов через запятую. Как это можно реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 14:56:50 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
Ptaha71, Варианты: 1. Разместите это предложение в разделе "Работа" с указанием объема вознаграждения. (Это для Вас наиболее реальный). 2. Прочитайте документацию и сделайте сами ( http://www.postgresql.org/docs/9.2/static/functions-aggregate.html) 3. Никак. Потому что действительно Вам нужно что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 15:26:36 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
/\/\/\/\/\/\, огромное Вам спасибо! Ответ очень информативен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 15:29:26 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
Разобралась самостоятельно, несмотря на предыдущий совет. Все очень просто, как и ожидалось. Если кому потом понадобится пишу как реализовала: select lu.lot_id, array_to_string(ARRAY(select code from t1 where lot_id =lu.lot_id order by lot_id), ', ') AS code_list from t1 lu group by lu.lot_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 15:52:56 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
Ptaha71, называется это транспонирование, по моему Вам вполне подойдёт Crosstab с конкатенацией уж как-нибудь разберётесь. впрочем есть нюансы, а именно смущает фраза Ptaha71до бесконечности кодовбоюсь упрётесь в какое-нибудь ограничение при использовании crosstab, поэтому пишите процедуру, так будет надёжнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 15:57:37 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
Ptaha71select lu.lot_id, array_to_string(ARRAY(select code from t1 where lot_id =lu.lot_id order by lot_id), ', ') AS code_list from t1 lu group by lu.lot_idorder by лишнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 15:59:34 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
Ptaha71Разобралась самостоятельно, несмотря на предыдущий совет. Все очень просто, как и ожидалось. Если кому потом понадобится пишу как реализовала: select lu.lot_id, array_to_string(ARRAY(select code from t1 where lot_id =lu.lot_id order by lot_id), ', ') AS code_list from t1 lu group by lu.lot_id Нет, не разобрались. Хотя подход засчитан. Если Вы более внимательно прочитаете ссылку, указанную выше, то обнаружите функцию string_agg. Тогда все выражение сведется к: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:04:53 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
roadsterPtaha71select lu.lot_id, array_to_string(ARRAY(select code from t1 where lot_id =lu.lot_id order by lot_id), ', ') AS code_list from t1 lu group by lu.lot_idorder by лишнее. да, полностью согласна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:19:48 |
|
||
|
преобразование данных массива в строку.
|
|||
|---|---|---|---|
|
#18+
/\/\/\/\/\/\Ptaha71Разобралась самостоятельно, несмотря на предыдущий совет. Все очень просто, как и ожидалось. Если кому потом понадобится пишу как реализовала: select lu.lot_id, array_to_string(ARRAY(select code from t1 where lot_id =lu.lot_id order by lot_id), ', ') AS code_list from t1 lu group by lu.lot_id Нет, не разобрались. Хотя подход засчитан. Если Вы более внимательно прочитаете ссылку, указанную выше, то обнаружите функцию string_agg. Тогда все выражение сведется к: Код: sql 1. 2. 3. 4. 5. Да, отличный вариант. По ссылке я тогда прошла, но к этому времени уже нашла первый вариант, поэтому не внимательно, видимо, просмотрела набор функций. Просто, если честно, Ваш тон ответа не особо способствовал серьезному отношению к написанному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2014, 16:24:50 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38718292&tid=1998541]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
193ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 493ms |

| 0 / 0 |
