| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > SQL: преобразовать список (из SELECT) |
| Автор: ivashkanet 4.4.2007, 17:32 | ||
| Всем привет. Есть набор строк, каждая состоит из одной колонки типа Строка. Нужно получить одно результирующее значение, которое получается из этого набора склеиванием этих строк в одну и с разделителем запятая. Скорее всего это будет что-то типа:
Заранее спасибо |
| Автор: LSD 4.4.2007, 17:37 |
| Запросом такого не сделать. Тебе нужно написать процедуру на PL/SQL которая пробежиться по этому курсору и "склеит" все в одну строку. |
| Автор: ivashkanet 4.4.2007, 17:47 |
| Жаль. :( Мне нужно создать View, одна из колонок которой будет эта строка. LSD, не поможешь мне с этим, а то я Оракл знаю всего месяц, а за PL/Sql даже не брался :( |
| Автор: Sqlninja 4.4.2007, 17:53 |
| http://www.oracle.com/technology/oramag/code/tips2004/050304.html |
| Автор: DimW 5.4.2007, 07:33 |
ivashkanet, где хранятся строки, в таблицах или тебе этот набор строк параметром приходит? |
| Автор: ivashkanet 5.4.2007, 09:01 |
| DimW, я же написал пример, он максимально приближен к задаче Эти строки хранятся в таблице Sqlninja, я гляну, спасибо |
| Автор: DimW 5.4.2007, 09:52 | ||||||
создаешь функцию:
выполняешь такой запрос:
если я все правельно понял это то что тебе нужно. единственное ограничение в функции - "result varchar2(2000);" на основе селекта создашь вьюху Добавлено через 8 минут и 16 секунд если вьюха должна возвращать одну строку то селект такой:
|
| Автор: ivashkanet 5.4.2007, 10:02 | ||
| DimW, круто А теперь можно добавить к этой функции пару параметров: 1) Department чтобы запрос был такой
2) очень хотелось бы установить имя таблицы выборки "operators" и его поля "operator_clock_number" . 2 не столь важно, а вот без п1 никак ИМХО, 1 элементарно, но я не знаком с синтаксисом Pl/SQL Заранее спасибо |
| Автор: DimW 5.4.2007, 10:08 | ||||||
отсюда:
по поводу остального - пока втыкаю... |
| Автор: ivashkanet 5.4.2007, 10:11 |
| DimW, большое спасибо |
| Автор: DimW 5.4.2007, 10:14 |
| пожалуйста |
| Автор: ivashkanet 5.4.2007, 11:03 |
| О как Пасибо, буду разбираться |