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.

È stato utile?

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

trasporre-select-risultati-con-Oracle

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top