2012-04-03 6 views
4

Ich habe die folgende Abfrage bekommtOracle: transponieren Tabelle

SELECT 1, 2 FROM DUAL 

und ich würde so etwas wie

SELECT TRANSPOSE(SELECT 1, 2 FROM DUAL) 

Weichen mögen gibt das gleiche wie

SELECT 1 FROM DUAL 
UNION 
SELECT 2 FROM DUAL 

Ich würde mag es, Zeilen mit Spalten zu tauschen.

+4

Welche Version von Oracle ist das? –

Antwort

5

Angenommen, dies ist Oracle 11, können Sie UNPIVOT verwenden:

select no from 
(SELECT 1 a, 2 b FROM DUAL) dummy 
unpivot (no for col in (a as 'A', b as 'B')) 
0

Wenn Sie Oracle 11g nicht haben, die beste Lösung ist, die Sie zur Verfügung gestellt:

SELECT 1 FROM DUAL 
UNION 
SELECT 2 FROM DUAL