Oracle: транспонировать таблицу - PullRequest
4 голосов
/ 03 апреля 2012

У меня следующий запрос

SELECT 1, 2 FROM DUAL

И я бы хотел что-то вроде

SELECT TRANSPOSE(SELECT 1, 2 FROM DUAL)

, которое выдает то же самое, что и

SELECT 1 FROM DUAL
UNION
SELECT 2 FROM DUAL

Iхотелось бы поменять местами столбцы.

Ответы [ 2 ]

5 голосов
/ 03 апреля 2012

Предполагая, что это Oracle 11, вы можете использовать UNPIVOT:

select no from
(SELECT 1 a, 2 b FROM DUAL) dummy
unpivot (no for col in (a as 'A', b as 'B'))
0 голосов
/ 03 апреля 2012

Если у вас нет Oracle 11g, лучшим решением будет то, что вы предоставили:

SELECT 1 FROM DUAL
UNION
SELECT 2 FROM DUAL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...