Como fazer um Select retornando Colunas para Linhas

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
FabianoSantos
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Sex, 22 Mai 2009 5:15 pm
Localização: São Paulo SP
Fabiano Santos
analista de TI

Olá Pessoal, gsotaria de uma uma ajuda ou alguma dica para resolver uma questão.

tenho uma Tabela: OPE com a seguinte estrutura..

Selecionar tudo

Nivel        |    ATR1   |   ATR2   |   ATR3   |   ATR4   |  Data
-----------------------------------------------------------------------------
1001386          50          40          10         12       31/01/2009
1001750          30          25          11         08       31/01/2009
1001386          28          77          13         02       28/02/2009
eu preciso de uma consulta que faça a inversão da tabela, colocando os campos em linhas quando o nivel for especificado, por exemplo:

Where Nivel = '1001386' o resultado esperado seria :

Selecionar tudo

CAMPO    |   31/01/2009   |  28/02/2009  |     TOTAL
-------------------------------------------------------------
ATR1              50              28              78
ATR2              40              77             117
ATR3              10              13              23
ATR4              12              02              14
eu cheguei a pesquisar varios tópicos na internet sobre o assunto, porém não encontrei nada que pudesse ilustrar isto, porisso venho pedir apoio.

Se alguém puder me ajudar ou me indicar algum tópico eu agradeço
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

O problema aí é que sua tabela original já está em formato "cross-tab". (ou seja, em colunas).

Se ela não estivesse desse formato, tem inúmeros topicos aqui no forum que resolvem o problema. To achando que pra você conseguir isso, vai ter que primeiro "desfazer" dessa forma que está aparecendo.

http://glufke.net/oracle/viewtopic.php?t=1651
http://glufke.net/oracle/viewtopic.php?t=844
http://glufke.net/oracle/viewtopic.php?t=2899
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes