[firebase-br] problemas com sql

Samir Oliveira Costa sysleilao em gmail.com
Sex Abr 23 13:29:25 -03 2010


Resolvido, obrigado por quem estava pesquisando algo para me responder.

Em 22 de abril de 2010 20:59, Samir Oliveira Costa
<sysleilao em gmail.com>escreveu:

> Alguem pode me ajudar
>
> tenho um sql que me dara um resultado de uma media na seguinte jeito
>
> select sum (l.lot_qtd) qtd, sum(l.lot_total) ValorTotal ,
> (sum(l.lot_total) / sum(l.lot_qtd)) media, an.sexo, an.sangue,
> (select r.DESCRICAO from tabracas r where r.cod_raca = an.raca ) desc_raca
> from tablotes l, tabanimais an, tabanimaislotes anlote
> where l.lei_codigo = 000000000000001
> and anlote.lei_codigo = l.lei_codigo
> and anlote.lot_lote = l.lot_lote
> and an.ani_codigo = anlote.ani_codigo
> and (l.lot_defesa = 'V' or l.lot_defesa = 'D')
> group by an.sexo, an.sangue, an.raca
>
> o resultado é este : http://i66.servimg.com/u/f66/13/56/61/41/imagem29.jpg
>
> porem este resultado esta errado pois tenho que ter uma soma de valores
> como deste sql aqui, verifiquei que esta repetindo quando tenho mais de um
> animal no l.lot_lote e se eu usar distinct nos SUM, se tiver algm valor
> repetido
> de lotes diferentes ele ira somar apenas uma vez e continuara errado.
>
> select distinct l.lot_lote, l.lot_qtd, l.lot_total,  an.sexo, an.sangue,
> (select r.DESCRICAO from tabracas r where r.cod_raca = an.raca ) desc_raca
> from tablotes l, tabanimais an, tabanimaislotes anlote
> where l.lei_codigo = 000000000000001
> and anlote.lei_codigo = l.lei_codigo
> and anlote.lot_lote = l.lot_lote
> and an.ani_codigo = anlote.ani_codigo
> and (l.lot_defesa = 'V' or l.lot_defesa = 'D')
>
> o resultado é este : http://i66.servimg.com/u/f66/13/56/61/41/imagem30.jpg
>
> ou seja preciso adaptar o sql de cima para que o resultado seja
>
> qtd     valortotal     media     sexo     sangue     desc_raca
> 2        5.600           2800      F         PO           NELORE
> 5       11480           2296      M         PO          NELORE
>
> Agradeço a ajuda antecipadamente.
>
>
> --
> Qualquer dúvida entrar em contato.
>
> Samir Oliveira Costa
> Técnico em Informática
> (34) 3338-6337 - (34) 9148-5670
> msn: sysleilao em gmail.com
>
>


-- 
Qualquer dúvida entrar em contato.

Samir Oliveira Costa
Técnico em Informática
(34) 3338-6337 - (34) 9148-5670
msn: sysleilao em gmail.com



Mais detalhes sobre a lista de discussão lista