RES: [firebase-br] Sum Complicado

Edy GB evandrobastiani2 em hotmail.com
Sex Ago 26 15:50:10 -03 2005


Ops.... esqueci um detalhe

SELECT V.ENTRADA, 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.08.2005' AND '30.08.2005'
AND V.CPRO = P.CODIGO
Group By 1,2,3 ORDER BY 4 Desc,2



From: Felipe Giotto <felipe em metasoftware.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 15:29:45 -0300

Porque nesse caso você não precisa utilizar um GROUP BY... Você só precisa 
quando quer utilizar alguma função, como SUM, AVG, COUNT, etc., e definir a 
condição de agrupamento onde as funções devem ser aplicadas... Nesse caso, o 
select que possui o SUM é como se fosse "independente" da consulta... Ele 
vai ser executado separadamente e o seu resultado vai ser retornado junto 
com os outros campos da tabela do SELECT principal.... Eu sei que isso ficou 
um pouco (muito :D ) confuso, mas eu não consegui achar uma forma mais fácil 
de explicar isso!!!

Abraços,

Felipe Giotto ;-)



Edy GB escreveu:

>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
>
>

--
Felipe Luiz Christófolli Giotto
Meta Tecnologia em Software, Ltda


______________________________________________
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





Mais detalhes sobre a lista de discussão lista