базовый sql — как выполнить поворот с помощью oracle sql

#sql #oracle

#sql #Oracle

Вопрос:

Очень простой вопрос

Прямо сейчас мой запрос выглядит так

выберите table.a, table.b, table.c из таблицы

 A   B    C  

1   2    3
  

.

Мне нужно, чтобы мой вывод был

 NAME    ID
A       1
B       2
C       3
  

.

Есть ли способ, которым я могу преобразовать свой текущий вывод или запросить эту таблицу другим способом?

Спасибо!

Ответ №1:

Вам нужен UNPIVOT:

 select * from table1 unpivot (id for name in (a,b,c));
  

Ответ №2:

 Select 'A' as name, (
    select A 
        from table1
        ) as ID
union all
Select 'B', (
    select B 
        from table1
    ) as ID
union all
Select 'C', (
    select C 
        from table1
    ) as ID