Trasporre una riga in più righe Oracle
Domanda
Ho una query che restituisce sempre una fila, con molti colonne. Vorrei trasformare questo in 2 colonne e molte righe.
risultati originali:
Col1, Col2, Col3, Col4
----------------------
val1, val2, val3, val4
Quello che voglio:
ColName, Value
--------------
Col1, val1
Col2, val2
Col3, val3
Col4, val4
È possibile?
EDIT (chiarimento)
Sto cercando un modo automatico per farlo. IE qualcosa che può passare i risultati da qualsiasi query che restituisce solo 1 riga.
Soluzione
Si sta utilizzando Oracle 11g? Hai provato pivot e UNPIVOT?
Più informazioni qui .
Altri suggerimenti
sicuro. Fare
select 'Col1' ColName, Col1 Value from srctable union all
select 'Col2', Col2 from srctable union all
select 'Col3', Col3 from srctable union all
select 'Col4', Col4 from srctable
Sto indovinando non si dispone della versione di Oracle con configurazione in supporto tabella pivot. Purtroppo è il codice non molto pulito, come si deve costruire ogni riga.
Vedere questo post più vecchi per un esempio
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow