2016-02-03 2 views
1

У меня есть структура таблицы, как показано ниже, нужно выход, как указано нижеПреобразование столбца в строки в оракуле

таблицы:

A     B 
CUSTOMER_TYPE_ID 4 
CUSTOMER_TYPE_ID 3 
CUSTOMER_TYPE_ID 2 
CUSTOMER_TYPE_ID 1 
CUSTOMER_TYPE_ID 0 

Ответ:

'4','3','2','1','0' 

Как это сделать?

+0

какую версию оракул вы используете? –

+0

11g, но эти значения являются динамическими ... – rohansr002

ответ

2

Как описано выше, это не сводная конкатенация сводной строки. Функция Oracle является LISTAGG():

select listagg(b, ',') within group (order by b desc) as b 
from t 
group by a; 

EDIT:

Если вы хотите, одинарные кавычки вокруг значений:

select listagg('''' || b || '''', ',') within group (order by b desc) as b 
from t 
group by a; 
+0

Но это вернет только один столбец, я не уверен, что это означало OP – sagi

+0

@sagi Кстати ответ равен автору –

+0

Согласен, ответ correct @ agent5566, но для чего мне нужен ответ: «4», «3», «2», «1», «0» ...? – rohansr002

Смежные вопросы