Получить все имена столбцов и извлечь их в один ряд - PullRequest
0 голосов
/ 14 декабря 2018

Итак, я знаю, что могу выбрать имена COLUMN с помощью запроса:

SELECT column_name FROM ALL_TAB_COLS WHERE table_name = 'MY_TABLE_NAME'

Все работает нормально, если я использую rownum = 1 ...

OUTPUT: sz.price

Мне нужноиспользуйте его, потому что это запрос в EAS (корпоративное программное обеспечение).Если я его не использую -> subquery returns more than one row

Как мне получить все имена столбцов, которые в MY_TABLE_NAME извлекаются в одну строку?

expected OUTPUT: sz.price, sz.column2, sz.column3, ....

Версия: Oracle Database 11g Release11.2.0.4.0

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

это будет работать:

select listagg(col_name, ',') WITHIN GROUP (ORDER BY col_name)from(SELECT column_name  
FROM ALL_TAB_COLS WHERE table_name = 'MY_TABLE_NAME');
0 голосов
/ 14 декабря 2018

вы можете использовать listagg

select listagg(column_name, ',' )  within group (order by column_name) as "columns"
  from all_tab_columns
 where table_name = 'MY_TABLE_NAME';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...