Usuário com melhor resposta
Select com count

Pergunta
-
Olá pessoal,
quero uma tabela que me gere o id unidade, a quantidade de pessoas cadastradas nesta unidade, o nivel qualitativo dele ( baixo, medio, alto, null) e a quantidade em cada uma. Ficando assim
idunidade qtde valor qtde_valor
305 100 Baixo 50
305 100 Médio 25
305 100 Alto 25
porem o retorno está assim:
idunidade qtde valor qtde_valor
305 50 Baixo 50
305 25 Médio 25
305 25 Alto 25
segue abaixo a sintaxe:
select idunidade,count (idunidade), valor, COUNT (valor)
from (
select tr.idunidade,rs.valor
from resultadoqualitativo rs
inner join aluno al on al.idaluno = rs.identidade
inner join turma tr on tr.idturma = al.idturma
where rs.idindicadorqualitativo = 10 and rs.idtipoentidade = 1 and rs.idavaliacao = 32
union all
select pr.idunidade,rs.valor
from resultadoqualitativo rs
inner join professor pr on pr.idprofessor = rs.identidade
where rs.idindicadorqualitativo = 10 and rs.idtipoentidade = 4 and rs.idavaliacao = 32)as A
group by idunidade, valor
order by idunidadeAlguem pode me ajudar?
terça-feira, 30 de julho de 2013 15:14
Respostas
-
Boa tarde,
Experimente dessa forma:
select idunidade, count(idunidade) over() as qtde, valor, COUNT(valor) as qtde_valor from (-- ...
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator sexta-feira, 2 de agosto de 2013 22:25
terça-feira, 30 de julho de 2013 18:02
Todas as Respostas
-
Guilherme,
primeiramente, o CAM é de CLUBE ATLETICO MINEIRO? GALO!!! #rumoamarrocos
Segundo, tentou usar um Group By na sua query e ao inves de usar o count, usa um SUM para somar a qtde de pessoas.
SELECT IDUNIDADE,
SUM(QTDE),
QTDE_VALORFROM [TABELA]
GROUP BY IDUNIDADEterça-feira, 30 de julho de 2013 16:10 -
mais ai ele soma o valor '305' e não a quantidade.
Como faço?
É sim CAM de clube atlético mineiro.
terça-feira, 30 de julho de 2013 16:51 -
Boa tarde,
Experimente dessa forma:
select idunidade, count(idunidade) over() as qtde, valor, COUNT(valor) as qtde_valor from (-- ...
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator sexta-feira, 2 de agosto de 2013 22:25
terça-feira, 30 de julho de 2013 18:02 -
Não deu certo.
Tipo eu tenho vários idunidade :
306,306,307,308...
preciso que gere o valor total de cada.
quarta-feira, 31 de julho de 2013 15:13 -
Neste caso experimente dessa forma:
select idunidade, count(idunidade) over(partition by idunidade) as qtde, valor, COUNT(valor) as qtde_valor from (-- ...
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
quarta-feira, 31 de julho de 2013 17:52 -
Não deu certo.
Acho que preciso explicar melhor,
Tenho uma tabela resultadoqualitativo, em cada linha possuo o resultado por aluno e professor, nivelado por baixo, médio e alto.
Faço um join com as tabelas aluno, turma e professor para descobrir de qual unidade eles são.
Preciso descobrir a quantidade total de alunos por unidade e do lado a quantidade é alto médio e baixo.
quinta-feira, 1 de agosto de 2013 12:24 -
A alteração que sugeri não apresentou o resultado dessa forma? O que aconteceu? Como ficou o resultado?
Talvez seja melhor você postar umas linhas de exemplo das tabelas envolvidas e o respectivo resultado esperado para que seja possível fazer alguns testes.
Assinatura: http://www.imoveisemexposicao.com.br
quinta-feira, 1 de agosto de 2013 13:34 -
Ficou assim:
idunidade qtde valor qtde valor
305 4 Baixo 51305 4 Médio 143
305 4 Alto 119
305 4 Null 10
Se o você puder me passar login skype e-mail ... posso te mandar as colunas para pode me ajudar...
Esta querry está contando sempre valor 4. Que a quantidade de vezes que ele repete.
O real valor teria que ser a soma (51+143+119+10)
quinta-feira, 1 de agosto de 2013 14:46 -
Experimente substituir o trecho abaixo
count(idunidade) over(partition by idunidade) as qtde,
por
sum(qtde_valor) over(partition by idunidade) as qtde,
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
quinta-feira, 1 de agosto de 2013 15:06 -
nem rodo a querry.
Deu invalid column name.
Será pq declarou ela 2 linhas acima?
sexta-feira, 2 de agosto de 2013 13:19 -
Consegui. Obrigado amigossexta-feira, 2 de agosto de 2013 13:25