[firebase-br] Select retornando registro errado

Pha-Lista lista em pha.com.br
Sex Mar 11 12:55:51 -03 2005


> Olá
> 
> Eu tenho uma dúvida,
> 
> O select interno não vai retornar sempre nulo?

So se o where montado sempre resultar em 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 el> e usa 
> como parametro para o mais interno, seria isso?

No caso do Exists e Select retornados em colunas sim, nos casos Selects em outros selects em vez de tabelas funciona ao contrario primeiro os mais internos depois os externos.


> 
> []'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 d> o 
> >> último
> >> postado, será que vc não esqueceu de passar maiores informaçõe> s ?
> >>
> >> 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.DtVe> nc,
> >> 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 v> oce
> >> 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 Parc> ela
> >> > > 16/12/2004  1640       490,80                    14/01/2005   4920> 1
> > 1
> >> > > 16/12/2004  1640                       490,80    20/01/2005   4920> 1
> > 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 
> 
> 
> 





Mais detalhes sobre a lista de discussão lista