Oracle запрос для объединения значений столбцов, разделенных запятыми - PullRequest
0 голосов
/ 27 мая 2020

У меня есть табличный сотрудник, имеющий столбцы Имя, Возраст, Отдел.

Мне нужен запрос, который производит вывод, который объединяет значения Name, Age, Department через запятую.

Вывод запроса должен быть таким, как показано ниже:

ABC,23,Science
XYZ,34,Bio
QQQ,22,Account

Я не использую хранимую процедуру.

Я ищу по inte rnet и нашел функцию concat, но похоже на нее не будет работать с несколькими столбцами. Пожалуйста, помогите, учитывая, что у меня 1-5 миллионов записей в таблице, поэтому нужно также посмотреть точку производительности.

1 Ответ

0 голосов
/ 27 мая 2020

CONCAT не ведет себя хорошо в этом контексте, так как вам нужно вложить несколько функций. Но старый добрый оператор конкатенации двойных каналов || работает хорошо:

SQL> select ename ||','|| sal ||','|| job result
  2  from emp
  3  where rownum < 5;

RESULT
---------------------------------------------------
SMITH,1000,CLERK
ALLEN,1600,SALESMAN
WARD,1250,SALESMAN
JONES,2975,MANAGER

SQL>
...