Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
Perfeito e agora preciso selecionar apenas CONTADOR>1
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
ok. Obrigado, resolvido. Estou iniciando os estudos com SQL e agradeço muito sua colaboração.
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?
>
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)
=)
[](http://msdn.microsoft.com/en-us/library/aa276877(v=sql.80))
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 )
o Num_Titulacao é resultado de uma consulta.
portanto tenho que fazer uma sub consulta para utilizá-lo não é?
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