none
AVG com erro RRS feed

  • Pergunta

  • No select abaixo retorna com valores repetidos e estranhos AVG e MAX, alguma sugestão:

    DECLARE @DataAtual DATE          
           SET @DataAtual = GETDATE()
    	select c.nome, 
    	           @DataAtual AS data_atual, c.data_Nasc,
                  (CONVERT(VARCHAR,DATEDIFF(YEAR,c.data_Nasc,@DataAtual)) + ' ano(s)')AS IDADE_ano, 
    	          (CONVERT(VARCHAR,DATEDIFF(MONTH,c.data_Nasc,@DataAtual)) + ' mes(es)')AS IDADE_mes,
    	          (CONVERT(VARCHAR,DATEDIFF(SECOND,c.data_Nasc,@DataAtual) / 86400/7) + ' semana(s)')AS IDADE_semana,
    			  Avg(Cast(a.peso_kg as Float)) as Peso_Media, 
    			  MAX(a.peso_kg) as Peso_Maximo, 
    			  AVG(Cast(a.alturaCernelha as Float)) as AC_Media
    From Programa_Nutricao A, Diario E, Animal_Companhia c
    Where  A.cod_Diario = E.id and 
           E.cod_animal = c.id and
    	  C.num_CIA>0 OR num_CIA IS NULL         
    Group by c.nome, c.data_Nasc;


    • Editado Wilson Boris segunda-feira, 28 de novembro de 2016 13:10 complemento
    segunda-feira, 28 de novembro de 2016 13:09

Respostas

Todas as Respostas

  • Deleted
    segunda-feira, 28 de novembro de 2016 13:28
  • Obrigado pelo retorno José Diz,

    sim há varias linha com o cod_Diario.

    Na tabela nutrição eu tenho a chave estrangeira cod_Diario e na tabela Diario é que eu tenho a chave estrangeira cod_animal que identifica o animal.

    segunda-feira, 28 de novembro de 2016 13:47
  • Deleted
    • Marcado como Resposta Wilson Boris segunda-feira, 28 de novembro de 2016 14:23
    segunda-feira, 28 de novembro de 2016 14:06
  • Valeu gigante. 100%.
    segunda-feira, 28 de novembro de 2016 14:23
  • Deleted
    • Marcado como Resposta Wilson Boris terça-feira, 29 de novembro de 2016 13:45
    terça-feira, 29 de novembro de 2016 09:27
  • Grande José Diz, sempre perfeito. Parabéns meu amigo pela dedicação, voce faz com amor.

    Veja só o meu código, kkk, rodou:

    DECLARE @DataAtual DATE          
           SET @DataAtual = GETDATE()
    SELECT C.nome, 
    	           @DataAtual AS data_atual, c.data_Nasc,
                  (CONVERT(VARCHAR,DATEDIFF(YEAR,c.data_Nasc,@DataAtual)) + ' ano(s)')AS IDADE_ano, 
    	          (CONVERT(VARCHAR,DATEDIFF(MONTH,c.data_Nasc,@DataAtual)) + ' mes(es)')AS IDADE_mes,
    	          (CONVERT(VARCHAR,DATEDIFF(SECOND,c.data_Nasc,@DataAtual) / 86400/7) + ' semana(s)')AS IDADE_semana,  
           avg (Cast(N.peso_kg as Float)) as Peso_Media, 
           max (N.peso_kg) as Peso_Maximo, 
           avg (Cast(N.alturaCernelha as Float)) as AC_Media
      from Programa_Nutricao as N inner join Diario as D on N.cod_Diario = D.id
                                  inner join Animal_Companhia as C on D.cod_animal= c.id 	
      group by C.nome, c.data_Nasc;

    terça-feira, 29 de novembro de 2016 13:42