powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вывод множества значений одним столбцом
13 сообщений из 13, страница 1 из 1
Вывод множества значений одним столбцом
    #39297541
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Никак не получается решить следующую задачку: есть параметр P1 в котором передаётся множество текстовых значений (либо NULL), нужно вывести значения этого параметра в один столбец.
Пытался с dual как-то это сделать, но не получается.
Поиском пользовался, но находит только вывод значений столбца в строку.
Помогите пожалуйста, наверняка ведь простое решение должно быть.
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297543
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
select :P1 p1 from dual


Выводит только последний элемент.
Как исправить, чтобы все элементы выводились?
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297563
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно как-то вообще вывести значения одного параметра столбцом или строкой?
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297564
AnSi_Sr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297588
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chikaginskесть параметр P1 в котором передаётся множество текстовых значений (либо NULL),Такого типа в Oracle-е нет.
http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297631
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Да, действительно сформулировал непонятно.
Попробую проще. Есть параметр P1, в который передаются значения (например: 509,10006,10018,2102956,1103456).
К примеру, если бы эти значения содержались в одном поле таблицы, то их можно было бы вывести так:
Код: plsql
1.
select f1 from t1 where t1 in (:p1)


Можно ли вывести в один столбец значения этого параметра, если нет такой таблицы t1 с полем f1 (в котором сожержатся эти значения?
Выполнение кода select :P1 p1 from dual возвращает только последнее значение.
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297637
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chikaginskПопробую проще. Есть параметр P1, в который передаются значения (например: 509,10006,10018,2102956,1103456).Ты не упростил, только усугубил косноязычее. Какой это тип данных, чудак?
chikaginskК примеру, если бы эти значения содержались в одном поле таблицы, то их можно было бы вывести так:
Код: plsql
1.
select f1 from t1 where t1 in (:p1)

Нельзя.
chikaginskВыполнение кода select :P1 p1 from dual возвращает только последнее значение.Не верю.
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297700
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Тут ошибся
select f1 from t1 where f1 in (:p1)
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39297742
chikaginsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

Тип - char
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39298045
Whiplashock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй так:

1. Создай тип:

Код: plsql
1.
CREATE OR REPLACE TYPE "CHARLIST" as table of varchar2(4000)



2. Использовать запрос:

Код: plsql
1.
select column_value from table(charlist(:p1));
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39298046
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chikaginskElic,

Да, действительно сформулировал непонятно.
Попробую проще. Есть параметр P1, в который передаются значения (например: 509,10006,10018,2102956,1103456).
К примеру, если бы эти значения содержались в одном поле таблицы, то их можно было бы вывести так:
Код: plsql
1.
select f1 from t1 where t1 in (:p1)


Можно ли вывести в один столбец значения этого параметра, если нет такой таблицы t1 с полем f1 (в котором сожержатся эти значения?
Выполнение кода select :P1 p1 from dual возвращает только последнее значение.

Код: 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.
SQL> var p1 varchar2(200)
SQL> exec :p1:='509,10006,10018,2102956,1103456';

PL/SQL procedure successfully completed.

SQL> ed
Wrote file afiedt.buf

  1  with t as (
  2  select 509 n   from dual union all
  3  select 956 n   from dual union all
  4  select 1103456 from dual )
  5  select * from t
  6* where instr(','||:p1||',',','||n||',')>0
SQL> /

         N
----------
       509
   1103456

SQL> select :p1 p1 from dual;

P1
-----------------------------------
509,10006,10018,2102956,1103456



.....
stax
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39298067
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Whiplashock Попробуй так:

1. Создай тип:

Код: plsql
1.
CREATE OR REPLACE TYPE "CHARLIST" as table of varchar2(4000)



2. Использовать запрос:

Код: plsql
1.
select column_value from table(charlist(:p1));



попробували?

.....
stax
...
Рейтинг: 0 / 0
Вывод множества значений одним столбцом
    #39298299
AnSi_Sr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chikaginsk,

Друг, я правильно понимаю, что постановка задачи следующая:
У тебя есть строковый параметр типа varchar2, в этой строке содержатся некие значения через разделитель (запятую). Требуется написать запрос, который выведет эти значения в виде отдельных строк.

Это делается через иерархический запрос с использованием регулярных выражений, пример по первой ссылке в гугле:
AnSi_Srchikaginsk,

Как в Oracle SQL развернуть строку в столбец
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вывод множества значений одним столбцом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]