Fórum Ajuda em uma SQL #51989
04/08/2005
0
select cri.*, vp.qnt_parcela TotalParcela, cl.nome NomeCliente, case when cri.tipo_doc = 1 then ´Duplicata´ when cri.tipo_doc = 2 then ´Promissória´ when cri.tipo_doc = 3 then ´Cheque´ when cri.tipo_doc = 4 then ´Cartão´ when cri.tipo_doc = 5 then ´Boleto´ when cri.tipo_doc = 6 then ´Carnê´ when cri.tipo_doc = 7 then ´Dinheiro´ end as DescTipoDoc, (select (cri.valor - cri.valor_pago) into ValorAberto) from conta_receber_itens cri left join conta_receber cr on (cr.idconta_receber = cri.idconta_receber) left join vencimento_parcela vp on (vp.idvencimento = cr.idvencimento) left join cliente cl on (cl.idcliente = cr.idcliente) left join cheque ch on (ch.idcheque = cri.idcheque) where (cri.data_vencimento between :PDataInicio and :PDataFim)
Eu sei que o erro esta em [b:697d17d6e0](select (cri.valor - cri.valor_pago) into ValorAberto)[/b:697d17d6e0], coloquei pra exemplificar o que eu queria, era pegar o cri.Valor e diminuir do cri.Valor_Pago, e me mostrar outra coluna, com o resultado,
Tem como fazer isso?
Desde já agradeço
Titanius
Curtir tópico
+ 0Posts
04/08/2005
Beppe
Gostei + 0
04/08/2005
Titanius
parou de dar erro, e a coluna apareceu, mas ela está vindo NULL... :(
[]s
Gostei + 0
04/08/2005
Sremulador
Gostei + 0
04/08/2005
Titanius
Gostei + 0
04/08/2005
Gandalf.nho
Gostei + 0
04/08/2005
Titanius
Gostei + 0
04/08/2005
Beppe
function Coalesce(const A: array of Variant): Variant; var I: Integer; begin Result := A[0]; for I := 1 to High(A) do if Result = Null then Result := A[I] else Break; end; function NullIf(const X, Y: Variant): Variant; begin if X = Y then Result := Null else Result := X; end;
Também dá pra replicar a lógico com o case do SQL.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)