#oracle
#Oracle
Вопрос:
Я написал запрос
select s_id from emp
where s_inv=12
я получил результаты таким образом
1
2
3
4
5
но я хочу, чтобы это было в этом формате
1 2 3 4 5
Ответ №1:
Если вам нужен результат в одном столбце, вы можете использовать LISTAGG:
with emp(s_id, s_inv) as
(
select 1, 12 from dual union all
select 2, 12 from dual union all
select 3, 12 from dual union all
select 4, 12 from dual union all
select 5, 12 from dual
)
select listagg(s_id, ' ') within group (order by s_id)
from emp
where s_inv = 12
Если вам нужно построить много столбцов в одной строке, вы должны сначала определить, сколько столбцов будет иметь ваш результат
Комментарии:
1. Поддержано, потому что это правильно отвечает на заданный вопрос (где OP не запрашивает, чтобы строки были столбцами или для каких-либо данных для поворота). Я бы проголосовал во второй раз за четкий пример рабочего кода, если бы это было возможно.