[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