У меня следующий запрос
SELECT 1, 2 FROM DUAL
И я бы хотел что-то вроде
SELECT TRANSPOSE(SELECT 1, 2 FROM DUAL)
, которое выдает то же самое, что и
SELECT 1 FROM DUAL UNION SELECT 2 FROM DUAL
Iхотелось бы поменять местами столбцы.
Предполагая, что это 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'))
Если у вас нет Oracle 11g, лучшим решением будет то, что вы предоставили: