[firebase-br] Como eu uso uma SP... (Select com "as" de "as")

dvdmengarda em hotmail.com dvdmengarda em hotmail.com
Qui Jul 14 18:11:34 -03 2005


Pessoar...

Criei uma SP conforme o Euler Jr. indicou. Parece que ficou boa. O único 
problema agora é: Como eu uso esse trem?

A SP deve retornar o total liquidado e o saldo em aberto das parcelas de um 
titulo.

***********
create procedure titulosaldos (
    total_titulo numeric(12,2),
    situacao_titulo varchar(1),
    titulo_origem varchar(9))
returns (
    saldoliquidado numeric(12,2),
    saldotitulo numeric(12,2))
begin
  if (situacao_titulo = '6') then select sum(valorliquidado) from ctarec 
where tituloorigem = :titulo_origem into saldoliquidado;
  if (situacao_titulo = '7') then saldoliquidado = total_titulo;
  if (saldoliquidado is null) then saldoliquidado = 0.00;
  saldotitulo = total_titulo - saldoliquidado;
  suspend;
end

***********



como ficaria o select para utilizando essa SP?



select v.*, (select sum(valorliquidado) from ctarec where 
tituloorigem=v.tituloorigem) as totalliquidado, (select sum(valorparcela - 
valorliquidado) from ctarec where tituloorigem=v.tituloorigem) as 
saldotitulo from titrec v


Grato.


David





----- Original Message ----- 
From: "Euler Jr." <euler em siginformatica.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, July 14, 2005 3:04 PM
Subject: Re: [firebase-br] Select com "as" de "as"...


> Use SP. O alias TOTALPAGO não é considerado um obj. pelo FB.
>
>
> []s
> Euler Jr.
>
> dvdmengarda em hotmail.com escreveu:
>
>>Olá pessoal!
>>
>>É possível num select criar uma coluna com outra que acabou de ser criada? 
>>Bom... abaixo tento explicar o que é
>>
>>para não processar duas vezes a tabela DUPLICATAS para achar o valor pago 
>>e o saldo das parcelas, em vez de usar:
>>
>>select V.*, (select sum(valorpago) from DUPLICATAS where NUMTIT=V.NUMTIT) 
>>as TOTALPAGO, (select sum(valorparcela - valorpago) from DUPLICATAS where 
>>NUMTIT=V.NUMTIT) as SALDOFATURA from VENDAS V
>>
>>na minha brilhante lógica, tentei usar:
>>
>>select V.*, (select sum(valorpago) from DUPLICATAS where NUMTIT=V.NUMTIT) 
>>as TOTALPAGO, (V.TOTALFATURA - TOTALPAGO) as SALDOFATURA from VENDAS V
>>
>>e obtive um insucesso...
>>
>>Alguém tem alguma dica para resolver isso?
>>
>>Valeu.
>>
>>
>>David Mengarda




Mais detalhes sobre a lista de discussão lista