Transformar linhas e colunas

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
elciodba
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 76
Registrado em: Sex, 31 Out 2008 4:30 pm
Localização: belo horizonte-mg

Estou precisando de uma ajuda para resolver essa query. Quando eu rodo essa query esta o resultado esta enviado na forma de colunas. Eu preciso que retorno em linhas
conforme modelo 2. alguém pode me ajudar....

Selecionar tudo

select g.descricao 
      , c.sexo
      ,count(t.grau_instrucao) 
  from crd.grau_instrucao g 
      ,crd.cliente c
      ,crd.trab_referencia t 
 where empresa_origem not in (1,2,4,9,10) 
  and c.empresa = t.empresa 
  and c.cliente = t.cliente
  and t.grau_instrucao = g.grau_instrucao
group by g.descricao,g.grau_instrucao ,c.sexo
order by g.descricao,g.grau_instrucao ,c.sexo;
Modelo 1

Descricao Sexo Qtde
-------------------------------------
ANALFABETO F 119
ANALFABETO M 105
DOUTORADO F 16
DOUTORADO M 7
FUNDAMENTAL COMPLETO F 51
FUNDAMENTAL COMPLETO M 30



Modelo 2

Descricao Sexo Qtde Descricao Sexo Qtde
----------------------------------------------------------------------------
ANALFABETO F 119 ANALFABETO M 105
DOUTORADO F 16 DOUTORADO M 7
FUNDAMENTAL COMPLETO F 51 FUNDAMENTAL COMPLETO M 30

BANCO :
1 Oracle Database 10g Release 10.2.0.4.0 - Production
2 PL/SQL Release 10.2.0.4.0 - Production
3 CORE 10.2.0.4.0 Production
4 TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
5 NLSRTL Version 10.2.0.4.0 - Production


Muito Obrigado
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Se fosse o oracle 11 daria para usar a função PIVOT, mas existem alternativas simples:
http://asktom.oracle.com/pls/asktom/f?p ... 9593546543
Responder
  • Informação
  • Quem está online

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