Fórum Condição numa SQL (IF OU CASE) FIREBIRD1.0 #43377
24/03/2004
0
Por exemplo - não funciona - mas caso é suportado gostaria de exemplo
select
sum(rs_parcela) as Total_Parcelas,
[b:3c6273b3f5]if[/b:3c6273b3f5] (pagamento is null) [b:3c6273b3f5]then [/b:3c6273b3f5]sum(rs_parcela) as Total_Nao_Pago
from NOTA_PRODUTO
Maicon Loffi
Curtir tópico
+ 0Posts
24/03/2004
Sremulador
DECLARE VARIABLE SL INTEGER;
DECLARE VARIABLE LT CHAR(3);
begin
LT = null;
SELECT LTLT, LTSL FROM LEITOS
WHERE (LTLT=:LEITO)
INTO LT, SL;
IF ((LT IS NOT NULL) AND (SL <> 1))THEN BEGIN
UPDATE LEITOS SET LTIN=:CONTA, LTSL=1
WHERE ((LTLT =:LEITO) AND (LTEN=:ENFERMARIA));
END ELSE EXCEPTION A001;
end
Gostei + 0
24/03/2004
Maicon Loffi
select
sum(rs_parcela) as Total_Parcelas,
if (pagamento is null) then sum(rs_parcela) as Total_Nao_Pago
from NOTA_PRODUTO
where NUMERO_NOTA =:NUMERO_NOTA
Esta soma tem como objetivo evitar outra query para somar o total não pago.
Tem bancos que suportam estes comandos, eu só não sei se o firebird1.0 suporta, e também não sei qual a sintaxe certa.
outro exemplo - claro que não funciona - só pra entendimento do que eu preciso.
select
sum(rs_parcela) as Total_Parcelas,
case data_pagamento of
null : sum(rs_parcela) as Total_Nao_Pago
end
from NOTA_PRODUTO
where NUMERO_NOTA =:NUMERO_NOTA
Atenciosamente!
Gostei + 0
24/03/2004
Sremulador
if query.pesqueisa1.isimpty = true then
select sum(rs_parcela) as Total_Parcelas,
else
select sum(rs_parcela) as Total_Nao_Pago
Gostei + 0
24/03/2004
Maicon Loffi
select sum(rs_parcela) as Total_Parcelas,
else
select sum(rs_parcela) as Total_Nao_Pago
Obrigado pela resposta, mas não é isso, o que eu quero é as duas condições em uma só SQL
Existe os camandos: só não sei se funciona ou qual a sintaxe a ser usada pelo firebird
select
sum(rs_parcela) as rs_total,
Case
when (data_pagamento is null) then sum(rs_parcela) as RS_Aberto
end
from nota_parcelas
where numero_nota =:numero_nota
Atenciosamente!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)