RES: RES: RES: [firebase-br] Sum Complicado
eduardo
eduardo em icontroller.com.br
Dom Ago 28 21:51:03 -03 2005
Oi Edy
Tenho visto muitas dúvidas suas com esta consulta. Eu mesmo já repondi
uma vez.
O erro que você está recebendo diz tudo. O que acho que vc ainda não
entendeu é a diferença entre um campo agregado e um subselect.
Quando vc usa GROUP BY, os campos não agreagados devem estra no GROUP
BY. Um subselect não é um campo agregado, então ele deve estar no GROUP.
Te aconselho a dar uma lidinha sobre isso.
[s Eduardo
Edy GB wrote:
> Esse é o Erro....
>
> Invalid Expression in the Select List( Not Contained in either an
> aggregate function or the group by Clause)
>
>
> From: "Evandro L. Covre"
> <elcovre em codaintellisoft.com.br>
> Reply-To: elcovre em codaintellisoft.com.br,
> FireBase <lista em firebase.com.br>
> To: "'FireBase'" <lista em firebase.com.br>
> Subject: RES: RES: RES: [firebase-br] Sum Complicado
> Date: Fri, 26 Aug 2005 17:43:13 -0300
>
> Qual é o erro?
>
>
> Evandro L. Covre
> Analista de Sistemas - Coda Intelligent Softwares
> Tel: 16 2102 8765
> http://www.codaintellisoft.com.br
> Ribeirão Preto - SP
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em
> nome de Edy GB
> Enviada em: sexta-feira, 26 de agosto de 2005 17:21
> Para: lista em firebase.com.br
> Assunto: RE: RES: RES: [firebase-br] Sum Complicado
>
> Ok.... porque esse instrução funciona corretamente e......
> SELECT EXTRACT(MONTH FROM V.ENTRADA) AS MES, P.PRODUTO, SUM(V.TOTAL)
> FROM GRITE01 V, GRPRO P WHERE
> V.ENTRADA BETWEEN '01.05.2005' AND '30.08.2005'
> AND V.CPRO = P.CODIGO
> Group By 2,1
>
>
> e depois que adiciono um SubSelect não funciona mais ????
>
> SELECT EXTRACT(MONTH FROM V.ENTRADA) AS MES, P.PRODUTO, SUM(V.TOTAL) ,
> (SELECT SUM(V1.TOTAL) FROM GRITE01 V1 WHERE V1.ENTRADA BETWEEN '01.08.2005'
> AND '30.08.2005'
> AND V1.CPRO = P.CODIGO)TOTPRO
> FROM GRITE01 V, GRPRO P WHERE
> V.ENTRADA BETWEEN '01.05.2005' AND '30.08.2005'
> AND V.CPRO = P.CODIGO
> Group By 2,1
>
>
>
>
>
>
>
> From: "Evandro L. Covre"
> <elcovre em codaintellisoft.com.br>
> Reply-To: elcovre em codaintellisoft.com.br,
> FireBase <lista em firebase.com.br>
> To: "'FireBase'" <lista em firebase.com.br>
> Subject: RES: RES: [firebase-br] Sum Complicado
> Date: Fri, 26 Aug 2005 15:18:35 -0300
>
> Pq não tem nenhuma função de agregação na sua consulta principal.
>
> Evandro L. Covre
> Analista de Sistemas - Coda Intelligent Softwares
> Tel: 16 2102 8765
> http://www.codaintellisoft.com.br
> Ribeirão Preto - SP
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em
> nome de Edy GB
> Enviada em: sexta-feira, 26 de agosto de 2005 15:04
> Para: lista em firebase.com.br
> Assunto: Re: RES: [firebase-br] Sum Complicado
>
> Mais porque dá erro quando tento colocar um Group By ?
>
> SELECT V.ENTRADA, P.PRODUTO, V.TOTAL,(SELECT SUM(V1.TOTAL) FROM GRITE01 V1
> WHERE V1.ENTRADA BETWEEN '01.08.2005' AND '30.08.2005'
> AND V1.CPRO = P.CODIGO) TOTPRO FROM GRITE01 V, GRPRO P WHERE
> V.ENTRADA BETWEEN '01.08.2005' AND '30.08.2005'
> AND V.CPRO = P.CODIGO
> Group By 1,2,3 ORDER BY 4 Desc,2
>
>
> From: "Augusto" <augusto em cmsolucoes.com.br>
> Reply-To: FireBase <lista em firebase.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Subject: Re: RES: [firebase-br] Sum Complicado
> Date: Fri, 26 Aug 2005 13:52:48 -0300
>
> Tá ai Edy,
>
> feita e testada, com estrutura que vc mandou.
>
> SELECT
> V.DATA_VENDA, P.PRODUTO, V.TOTAL,
> (SELECT SUM(V1.TOTAL) FROM VENDAS V1
> WHERE V1.DATA_VENDA BETWEEN '01.08.2005' AND '30.08.2005'
> AND V1.PRODUTO = V.PRODUTO)
> FROM
> VENDAS V, PRODUTOS P
> WHERE
> V.DATA_VENDA BETWEEN '01.08.2005' AND '30.08.2005'
> AND V.PRODUTO = P.PRODUTO
> ORDER BY
> V.DATA_VENDA
>
>
>
> []'s
>
> Augusto
>
>
>
>
> ----- Original Message ----- From: "Edy GB"
> <evandrobastiani2 em hotmail.com>
> To: <lista em firebase.com.br>
> Sent: Friday, August 26, 2005 11:50 AM
> Subject: RE: RES: [firebase-br] Sum Complicado
>
>
> >Não entendi o seguinte....... á SQL que preciso está em 2 Tabelas
> >somente... Produto e Vendas
> >
> >Data_Venda........Produto..............Total1.........Total2
> >08/08/2005........MARTELO...........150........350
> >15/08/2005........MARTELO...........100........350
> >19/08/2005........MARTELO............100........350
> >19/08/2005........SERROTE.............290........290
> >19/08/2005........ALICATE..............160........190
> >21/08/2005........ALICATE............. 30........190
> >
> >
> >
> >Tabela Vendas = Data_Venda, Total
> >Tabela Produtos = Produto
> >
> >
> >From: "Jony" <jonyridel em yahoo.com.br>
> >Reply-To: FireBase <lista em firebase.com.br>
> >To: "'FireBase'" <lista em firebase.com.br>
> >Subject: RES: [firebase-br] Sum Complicado
> >Date: Fri, 26 Aug 2005 07:42:40 -0300
> >
> >Respondi isso em outro e-mail talvez vc não tenha visto. Fiz o teste
> aki e
> >funcionou.
> >
> >SELECT
> > V.DATA,
> > PRODUTOS.NOME,
> > SUM(V.VALOR) AS TOTAL,
> > (SELECT SUM(VDA.VALOR) FROM VENDAS VDA
> > WHERE VDA.DATA BETWEEN '01.01.05' AND '30.01.05'
> > AND VDA.PRODUTO_FK = V.PRODUTO_FK) AS TOTAL_PRODUTO FROM
> > VENDAS V,
> > JOIN PRODUTOS ON (VENDAS.PRODUTO_FK = PRODUTOS.PRODUTO_PK) Where
> > V.DATA BETWEEN '01.01.05' AND '30.01.05'
> >GROUP BY V.DATA, PRODUTO.NOME
> >
> >Espero ter ajudado,
> >
> >----------------------------
> >Jony Ridel
> >Grupo Êxito - Salvador - BA
> >----------------------------
> >
> >
> >-----Mensagem original-----
> >De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br]
> Em
> >nome de Edy GB
> >Enviada em: quinta-feira, 25 de agosto de 2005 16:45
> >Para: lista em firebase.com.br
> >Assunto: [firebase-br] Sum Complicado
> >
> >To quebrando a cabeça aqui... mais acho que num tem jeito de fazer...
> >
> >Data_Venda........Produto..............Total1.........Total2
> >08/08/2005........MARTELO...........150........350
> >15/08/2005........MARTELO...........100........350
> >19/08/2005........MARTELO............100........350
> >19/08/2005........SERROTE.............290........290
> >19/08/2005........ALICATE..............160........190
> >21/08/2005........ALICATE............. 30........190
> >
> >
> >O Campo Total1 é o TOtal individual de Cada Item Vendido...... o Campo
> >Total2 é a Soma dos Produtos.. repare que no Item Martelo se somar a
> Coluna
> >do Total1 que tem Martelo (3 primeiras linhas) vai dar 350.... Mais acho
> >que
> >
> >isso num é possivel... se alguem poder me confirmar isso ficaria
> Grato!!!!
> >
> >_________________________________________________________________
> >MSN Messenger: converse com os seus amigos online.
> >http://messenger.msn.com.br
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
> >
> >--
> >No virus found in this incoming message.
> >Checked by AVG Anti-Virus.
> >Version: 7.0.344 / Virus Database: 267.10.15/81 - Release Date: 24/8/2005
> >
> >
> >--
> >No virus found in this outgoing message.
> >Checked by AVG Anti-Virus.
> >Version: 7.0.344 / Virus Database: 267.10.15/81 - Release Date: 24/8/2005
> >
> >
> >
> >
> >
> >
> >_______________________________________________________
> >Yahoo! Acesso Grátis - Internet rápida e grátis.
> >Instale o discador agora! http://br.acesso.yahoo.com/
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
> >
> >_________________________________________________________________
> >MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
> >
> >
> >______________________________________________
> >FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
> >
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
> _________________________________________________________________
> MSN Messenger: converse com os seus amigos online.
> http://messenger.msn.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
> _________________________________________________________________
> MSN Messenger: converse com os seus amigos online.
> http://messenger.msn.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
> _________________________________________________________________
> MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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