RES: [firebase-br] Sum sem Group By

Edy GB evandrobastiani2 em hotmail.com
Qui Ago 25 16:31:59 -03 2005


Seguinte.... o errro é esse Dynamic SQL Error SQL error code = -104 Invalid 
expression in the select list (not contained in either an aggregate function 
or the GROUP BY clause)


O Que tem de errado ?
Select GRPRO.PRODUTO, EXTRACT(MONTH FROM GRITE01.ENTRADA) AS MES,
MAX(GRITE01.ENTRADA), SUM(GRITE01.QUANT*GRITE01.VUNIT)AS TOTAL ,
(SELECT SUM(GRITE01.TOTAL) FROM GRITE01   WHERE GRITE01.ENTRADA BETWEEN 
'01.01.05' AND '30.08.05'
AND GRITE01.CPRO= GRPRO.CODIGO  )
>From  GRITE01 LEFT Outer Join GRPRO  on GRPRO.CODIGO = GRITE01.CPRO
Group By  1, 2 Order By 1,3

Agora Quando tiro as Linhas "AND GRITE01.CPRO= GRPRO.CODIGO " ele funciona 
beleza....
Select GRPRO.PRODUTO, EXTRACT(MONTH FROM GRITE01.ENTRADA) AS MES,
MAX(GRITE01.ENTRADA), SUM(GRITE01.QUANT*GRITE01.VUNIT)AS TOTAL ,
(SELECT SUM(GRITE01.TOTAL) FROM GRITE01   WHERE GRITE01.ENTRADA BETWEEN 
'01.01.05' AND '30.08.05'  )
>From  GRITE01 LEFT Outer Join GRPRO  on GRPRO.CODIGO = GRITE01.CPRO
Group By  1, 2 Order By 1,3



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 sem Group By
Date: Thu, 25 Aug 2005 10:21:09 -0300

Tente assim:

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'

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 09:51
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] Sum sem Group By

Eu tentei fazer com Subselect mais num deu certo.......´Ta meio dificil
aqui... :-(


From: "Eduardo Jedliczka (TeamFB)" <jedyfb em gmail.com>
Reply-To: FireBase <lista em firebase.com.br>
To: "FireBase" <lista em firebase.com.br>
Subject: Re: [firebase-br] Sum sem Group By
Date: Wed, 24 Aug 2005 22:11:01 -0300

Apesar de ficar um pouco lento, pode-se utilizar dois sub-selects, para
retornar independentemente os campos total e total_produto, e utilizar o
group by (ou distinct) para trazer somente as vendas daquele dia.

mas uma melhor performance seria obtida com uma SP.

Sucesso,

Eduardo Jedliczka
Membro do TeamFB (FireBase)
Apucarana - Paraná

----- Original Message ----- From: "Edy GB" <evandrobastiani2 em hotmail.com>
To: <Lista em firebase.com.br>
Sent: Wednesday, August 24, 2005 8:24 PM
Subject: [firebase-br] Sum sem Group By


 >Mais ou menos isso que eu preciso......
 >
 >Data_Venda........Produto..............Total.........Total_Produto
 >08/08/2005........MARTELO...........150........350
 >15/08/2005........MARTELO...........100........350
 >19/08/2005........MARTELO.............50........350
 >19/08/2005........SERROTE.............290........290
 >19/08/2005........ALICATE..............160........190
 >21/08/2005........ALICATE.............  30........190
 >
 >
 >Seguinte.... o Campo Total_Produto é um Sum do "Total" mais sem fazer um
 >Group By......e num consigo trazer ele...pior que preciso desse campo em
 >minha consulta....
 >
 >o Select acima é bem simples.....   Select Data_Venda, Produto, Total,
 >(Aqui deveria vir os Codigos pra trazer o Total_Produto.. que não estou
 >conseguindo)  from ItensVendas where Data_Venda BETWEEN "01.08.2005" and
 >"30.08.2005" order by 4,2,1
 >
 >Obrigado!!!!
 >
 >_________________________________________________________________
 >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

--
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 Messenger: converse com os seus amigos online. 
http://messenger.msn.com.br





Mais detalhes sobre a lista de discussão lista