Pergunta

Eu tenho uma consulta que sempre retorna uma linha, com muitos colunas. Eu gostaria de transformar isso em 2 colunas e muitas linhas.

Resultados originais:

Col1, Col2, Col3, Col4
----------------------
val1, val2, val3, val4

O que eu quero:

ColName, Value
--------------
Col1,    val1
Col2,    val2
Col3,    val3
Col4,    val4

Isso é possível?

Editar (esclarecimento)

Estou procurando uma maneira automática de fazer isso. Ou seja, algo que eu posso passar resultados de qualquer consulta que retorne apenas 1 linha.

Foi útil?

Solução

Você está usando o Oracle 11g? Você tentou pivô e não

Mais informações aqui.

Outras dicas

claro. Fazer

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

Acho que você não tem a versão do Oracle com o suporte do Build in Pivot Table. Infelizmente, nunca é um código muito limpo, pois você precisa construir cada linha.

Veja este post mais antigo para um exemplo

transposição-seletores-resultados com oráculo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top