[firebase-br] Dificuldade com union e group by

Gabriel Hilbig ghilbig em bol.com.br
Sex Dez 14 15:06:01 -03 2007


TENTE com DISTINCT


select DISTINCT c.codigo, c.desc, sum(i.qtd * i.valor) as "valor"
from item i
join cliente c on c.codigo = i.codcli
union
select DISTINCT c.codigo, c.desc, sum(s.qtd * s.valor) as "valor"
from item_servico s
join cliente c on c.codigo = s.codcli
union
select DISTINCT c.codigo, c.desc, sum(e.qtd * e.valor) as "valor"
from item_escalonamento e
join cliente c on c.codigo = e.codcli

group by 1,2




-- 
Gabriel Hilbig


"Wagner Porto" 
<wagner.porto em itelefonica.com.br> escreveu na 
mensagem news:4762C3AD.7080908 em itelefonica.com.br...
Valew pela ajuda Gabriel,
mas não funcionou, veja o erro:

Invalid expression in the select list (not contained in either an
aggregate function or the GROUP BY clause)

Gabriel Hilbig escreveu:
> O Correto é
>
> select c.codigo, c.desc, sum(i.qtd * i.valor) as "valor"
> from item i
> join cliente c on c.codigo = i.codcli
> union
> select c.codigo, c.desc, sum(s.qtd * s.valor) as "valor"
> from item_servico s
> join cliente c on c.codigo = s.codcli
> union
> select c.codigo, c.desc, sum(e.qtd * e.valor) as "valor"
> from item_escalonamento e
> join cliente c on c.codigo = e.codcli
>
> group by 1,2
>
>
> Group by deve ocorrer apenas uma vez no final da SQL.
>
> Funciona igual para ORDER BY
>


-- 
Att.
Wagner Porto


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista