[firebase-br] Select retornando registro errado

Eduardo Jedliczka eduardo em gerasoft.com.br
Sex Mar 11 13:43:44 -03 2005


Para cada registro do select externo, o Banco executa o Sub-Select... Ou
seja, funciona!

[s]

==========================
Eduardo Jedliczka
Gerasoft Informática
Apucarana - Pr
==========================

----- Original Message ----- 
From: "Carlos Vitorino" <vitorino em ctvoicer.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, March 11, 2005 1:38 PM
Subject: Re: [firebase-br] Select retornando registro errado


Olá

Eu tenho uma dúvida,

O select interno não vai retornar sempre nulo?
Em que ordem o Firebird vai resolver as querys? Ele não vai verifcar a
cláusula mais externa primeiro e para cada registro que ele retornar ele usa
como parametro para o mais interno, seria isso?

[]'s

Carlos Vitorino


----- Original Message ----- 
From: "Carvalho" <carvalho em invitro.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, March 11, 2005 10:29 AM
Subject: Re: [firebase-br] Select retornando registro errado


> Caro Antônio Carlos,
>
> O Select que estou tentando execuar é este:
> Select MF.Numero, MF.NumDoc, MF.NumParcela, MF.VrDeb, MF.Data,
>  MF.DtVenc, MF.CodCli, C.Nome, C.Cidade, C.ContaCtb
>  from MovFinanc MF
> Left Outer Join Cliente C on C.Codigo = MF.CodCli
> where not exists
>    (select 1 from MovFinanc MF2
>     where  MF2.Numero = MF.Numero
>         and MF2.NumDoc = MF.NumDoc
>         and MF2.NumParcela = MF.NumParcela
>         and MF2.CodCli = MF.CodCli
>         and MF2.VrCredito is not Null )
>
>    and MF.Data <= '01/31/2005' and MF.VrDeb is not Null
>    and MF.CodCli = 1640
>
> Order by C.Nome
>
> Eu vou testar a sua sugestão também.
>
> Obrigado
>
>
>> Li o rodape do email e lá o seu select é completamente diferente do
>> último
>> postado, será que vc não esqueceu de passar maiores informações ?
>>
>> Tenho uma sugestão :
>>
>> Por exemplo se vc ao inves de criar um registro NOVO para o crédito,
>> alterasse o de debito seria mais fácil pois bastaria um
>>
>> Select MF.Numero, MF.NumDoc, MF.NumParcela, MF.VrDeb, MF.Data, MF.DtVenc,
>> MF.CodCli, C.Nome, C.Cidade, C.ContaCtb
>> from MovFinanc MF ,  Cliente C
>> WHERE  C.Codigo = MF.CodCli
>> and MF.VrCredito IS Null
>> and MF.Data <= '01/31/2005'
>> and MF.CodCli = 1640
>> Order by C.Nome
>>
>> Analisando o Select original, creio que o erro seja porque mesmo que voce
>> tenha um lancamento de crédito,
>> sempre vai haver um de debito com o CAMPO crédito nulo.
>>
>> Antonio Carlos
>>
>>
>>
>> ----- Original Message -----
>> From: "Carvalho" <carvalho em invitro.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Friday, March 11, 2005 9:40 AM
>> Subject: Re: [firebase-br] Select retornando registro errado
>>
>>
>> > Caro Eduardo,
>> >
>> > Quando eu executo assim:
>> >
>> > Select MF.Numero, MF.NUMParcela, MF.NumDoc, MF.VrCred, MF.VrDeb,
> mf.cODCLI
>> > from MovFinanc MF
>> > Where MF.CODCLI = 1640 and MF.Numero = 49201
>> >
>> > o retorno vem assim:
>> >
>> > NUMERO NUMPARCELA NUMDOC VRCRED    VRDEB   CODCLI
>> > 49201                    1                049201       null
>> > 490,80    1640
>> >
>> > Quando eu executo assim:
>> >
>> > Select MF.Numero, MF.NUMParcela, MF.NumDoc, MF.VrCred, MF.VrDeb,
> mf.cODCLI
>> > from MovFinanc MF
>> > Where MF.Numero = 49201
>> >
>> > o retorno vem assim:
>> >
>> > NUMERO NUMPARCELA NUMDOC VRCRED    VRDEB   CODCLI
>> > 49201                    1                049201       null
>> > 490,80    1640
>> > 49201                    1                049201        490,80
> null
>> > 1640
>> >
>> > Muito louco... :-(((
>> >
>> > ----- Original Message -----
>> > From: "Eduardo Jedliczka" <eduardo em gerasoft.com.br>
>> > To: "FireBase" <lista em firebase.com.br>
>> > Sent: Friday, March 11, 2005 8:35 AM
>> > Subject: Re: [firebase-br] Select retornando registro errado
>> >
>> >
>> > Me ocorreu mais uma coisa...
>> >
>> > Qual o retorno no select abaixo (por favor, coloque sem cortes) ???
>> >
>> > Select MF.Numero, MF.Parcela, MF.NumDoc, MF.VrCredito, MF.VrDebito
>> > >>From MovFinanc MF
>> > Where MF.Cliente = 1640 and Numero = 49201 and Parcela = 1
>> >
>> > [s]
>> >
>> > ==========================
>> > Eduardo Jedliczka
>> > Gerasoft Informática
>> > Apucarana - Pr
>> > ==========================
>> >
>> > ----- Original Message -----
>> > From: "Carvalho" <carvalho em invitro.com.br>
>> > To: "FireBase" <lista em firebase.com.br>
>> > Sent: Friday, March 11, 2005 8:32 AM
>> > Subject: [firebase-br] Select retornando registro errado
>> >
>> >
>> > > In Vitro Diagnóstica S/AColegas,
>> > >
>> > > Eu não sei mais o que testar...
>> > >
>> > > O select abaixo não está funcionando.
>> > >
>> > > Select MF.Numero, MF.NumDoc, MF.NumParcela, MF.VrDeb, MF.Data,
>> > >  MF.DtVenc, MF.CodCli, C.Nome, C.Cidade, C.ContaCtb
>> > >  from MovFinanc MF
>> > > Left Outer Join Cliente C on C.Codigo = MF.CodCli
>> > > where not exists
>> > >    (select 1 from MovFinanc MF2
>> > >     where  MF2.Numero = MF.Numero
>> > >         and MF2.NumDoc = MF.NumDoc
>> > >         and MF2.NumParcela = MF.NumParcela
>> > >         and MF2.CodCli = MF.CodCli
>> > >         and MF2.VrCredito is not Null )   <-- AQUI
>> > >
>> > >    and MF.Data <= '01/31/2005' and MF.VrDeb is not Null
>> > >    and MF.CodCli = 1640
>> > >
>> > > Order by C.Nome
>> > >
>> > > A consulta está me retornando o seguinte registro:
>> > >
>> > > DtEmissao    Cliente   VrDebito   VrCredito  Vencimento   Numero
> Parcela
>> > > 16/12/2004    1640      490,80                      14/01/2005
> 49201
>> > 1
>> > >
>> > > A tabela está assim:
>> > >
>> > > DtEmissao   Cliente  VrDebito  VrCredito   Vencimento  Numero Parcela
>> > > 16/12/2004  1640       490,80                    14/01/2005   49201
> 1
>> > > 16/12/2004  1640                       490,80    20/01/2005   49201
> 1
>> > >
>> > > Eu não quero que retorna nada.
>> > >
>> > > Somente quando houver Débitos sem Créditos, ou seja:
>> > >
>> > > DtEmissao    Cliente   VrDebito   VrCredito  Vencimento   Numero
> Parcela
>> > > 15/02/2005    1640      525,28                      20/03/2005
> 49262
>> > 1
>> > >
>> > > Detalhe utilizo Interbase 6 com IBX
>> > >
>> > > O que fazer?
>> > >
>> > > Obrigado
>> > >
>> > >
>> > >
>> > >
>> > >
>> >
>> >
>>
>> -------------------------------------------------------------------------
-
>> --
>> > ----
>> >
>> >
>> > ______________________________________________
>> > 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
>> >
>> >
>> >
>> >
>> >
>>
>> -------------------------------------------------------------------------
-
>> --
>> > ----
>> >
>> >
>> > ______________________________________________
>> > 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
>> >
>> >
>> >
>> >
>> >
>>
>>
>> -------------------------------------------------------------------------
-
> --
>> ----
>>
>>
>> ______________________________________________
>> 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
>>
>>
>>
>
>
> --------------------------------------------------------------------------
--
> ----
>
>
> ______________________________________________
> 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
>
>
>
>
>


----------------------------------------------------------------------------
----


______________________________________________
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





----------------------------------------------------------------------------
----


______________________________________________
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





Mais detalhes sobre a lista de discussão lista