[firebase-br] Procedure Calculo

omar l m rosa omar em conesul.inf.br
Qui Maio 3 09:18:16 -03 2007


mas é a solução proposta.

Não pode fazer diretamente,Sum(PED_QTDE - QTDE_ATUAL)  pois as colunas estão
em tabelas separadas. Se fizer um join, vai fazer o produto cartesiano das
tabelas e vai somar errado.

Então, faz um select com o sum, faze outro com a outra coluna, subtrai,
coloca dentro de um select "dummy" para receber o resultado em uma variável.

select  /* select dummy */

/* primeiro sum */
 (SELECT SUM(PED_QTDE)FROM pedidolog WHERE CLI_CODIGO = :CLI_CODIGO)

 -   /* subtração */

 /* segundo sum */
 (select sum(QTDE_ATUAL)FROM saidalog where CLI_CODIGO = :CLI_CODIGO)

/* base dummy */
 from rdb$database

/* recebe resultado numa variável */
 INTO  :qtdetotal ;


bai.
omar

----- Original Message -----
From: "Paulo Sérgo Feix" <paulinhofeix em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, May 03, 2007 8:31 AM
Subject: Re: [firebase-br] Procedure Calculo


Preciso fazer esse calculo = = X  resultado




Em 02/05/07, omar l m rosa <omar em conesul.inf.br> escreveu:
>
>
>
> select
>
> (SELECT SUM(PED_QTDE)FROM pedidolog WHERE CLI_CODIGO = :CLI_CODIGO)
>
> -
>
> (select sum(QTDE_ATUAL)FROM saidalog where CLI_CODIGO = :CLI_CODIGO)
>
> from rdb$database
>
> INTO  :qtdetotal ;
>
>
>
> ----- Original Message -----
> From: "Marcelo Castro - [www.ligteltelecom.com.br]"
> <marcelo.castro em ligteltelecom.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, May 02, 2007 1:33 AM
> Subject: [firebase-br] Procedure Calculo
>
>
> Amigos aonde esta o erro dessa procedure?
>
> Preciso fazer esse calculo = SOMA(PED_QTDE) - SOMA(QTDE_ATUAL) = X
>
>
> CREATE PROCEDURE CLQ (
>     CLI_CODIGO INTEGER)
> RETURNS (
>     QTDETOTAL INTEGER)
> AS
> BEGIN
> SELECT SUM(PED_QTDE)FROM pedidolog WHERE CLI_CODIGO = :CLI_CODIGO -
> (select
> sum(QTDE_ATUAL)FROM saidalog where CLI_CODIGO = :CLI_CODIGO) INTO
> :qtdetotal ;
> suspend;
> END
>
> ESSA PROCEDURE ACIMA SEMPRE ME RETORNA NULL ,
>
>
> ______________________________________________
> 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
>
>
> ______________________________________________
> 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
>



--
Paulinho...
______________________________________________
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