Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinicius Silva_166087

[Resolvido] Contar registros e mostra-los

Recommended Posts

o seguinte código:

 

SELECT nom_rh, dsc_nivel_formacao
FROM Nivel_Formacao 
       join Formacao 
       on Nivel_Formacao.cod_nivel_formacao=Formacao.cod_nivel_formacao 
       join Recurso_Humano 
       on Formacao.seq_rh=Recurso_Humano.seq_rh 
ORDER BY nom_rh

 

gera a tabela:

 

nom_rh                  dsc_nivel_formacao
Abel Antônio da Silva	Graduação                                         
Abel Antônio da Silva	Mestrado                                          
Abel Antônio da Silva	Doutorado                                         
Abel Antônio da Silva	Extensão universitária                            
Abel Antônio da Silva	Extensão universitária                            
Abel Antônio da Silva	Curso de curta duração                            
Abel Antônio da Silva	Curso de curta duração                            
Abel Antônio da Silva	Curso de curta duração                            
Abel Antônio da Silva	Curso de curta duração 

 

Gostaria de saber como contar os dsc_nivel_formacao e mostrar o nom_rh para cada um dsc_nivel_formacao. Segue o resultado desejado:

 

nom_rh                  dsc_nivel_formacao          Contador
Abel Antônio da Silva	Graduação                       1                  
Abel Antônio da Silva	Mestrado                        1                 
Abel Antônio da Silva	Doutorado                       1                 
Abel Antônio da Silva	Extensão universitária          2                
Abel Antônio da Silva	Curso de curta duração          4

Compartilhar este post


Link para o post
Compartilhar em outros sites

group by

 

SELECT nom_rh, dsc_nivel_formacao , count(*) Contador
FROM Nivel_Formacao 
       join Formacao 
       on Nivel_Formacao.cod_nivel_formacao=Formacao.cod_nivel_formacao 
       join Recurso_Humano 
       on Formacao.seq_rh=Recurso_Humano.seq_rh
group by nom_rh, dsc_nivel_formacao
ORDER BY nom_rh

Compartilhar este post


Link para o post
Compartilhar em outros sites

HAVING

 

SELECT nom_rh, dsc_nivel_formacao , count(*) Contador
FROM Nivel_Formacao 
       join Formacao 
       on Nivel_Formacao.cod_nivel_formacao=Formacao.cod_nivel_formacao 
       join Recurso_Humano 
       on Formacao.seq_rh=Recurso_Humano.seq_rh
group by nom_rh, dsc_nivel_formacao
having count(*) > 1
ORDER BY nom_rh

Compartilhar este post


Link para o post
Compartilhar em outros sites

nom_rh dsc_nivel_formacao Num_Titulacao

Abel Antônio da Silva Curso de curta duração 4

Abel Antônio da Silva Doutorado 1

Abel Antônio da Silva Extensão universitária 1

Abel Antônio da Silva Graduação 1

 

Se dsc_nivel_formacao= Doutorado e Num_Titulacao=1 não mostro mas se dsc_nivel_formacao=Extensão universitária e Num_Titulacao=1 mostro, como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nom_rh dsc_nivel_formacao Num_Titulacao

Abel Antônio da Silva Curso de curta duração 4

Abel Antônio da Silva Doutorado 1

Abel Antônio da Silva Extensão universitária 1

Abel Antônio da Silva Graduação 1

 

Se dsc_nivel_formacao= Doutorado e Num_Titulacao=1 não mostro mas se dsc_nivel_formacao=Extensão universitária e Num_Titulacao=1 mostro, como faço?

tente utilizar

AND

OR

=

<>

NOT

 

e utilize parenteses para separar as condições de acordo com suas necessidades

 

isso pode ser resolvido de várias formas, vou tentar uma, talvez necessite ajustes:

where (dsc_nivel_formacao='Extensão universitária' AND Num_Titulacao=1 )

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.