[firebase-br] Meio OFF SQL que não achei solucão mas ...

Ricardo M. Gimenez rmgimenez em gmail.com
Sex Abr 18 11:38:52 -03 2008


Estranho, pensei que iria dar certo.

Tenta assim então:

SELECT FIRST 1
           (A.VENCIMENTO),
           (A.COD_BAR)
           FROM A T16
           WHERE A.CD_CLIENTE = :PCD_CLIENTE AND A.PAGTO IS NULL
           AND A.VALOR_PAGO IS NULL AND A.ATIVO = 'A'
           AND A.VENCIMENTO >= :VENCTO_COMPARA
           AND A.COD_BAR <> :NUMERO_COMPARA 
	   AND not exists (select * from FROM B where b.cod_bar = a.numero) 
           ORDER BY 1 ASC

Até mais.


Danilo Gomes wrote:
> Ricardo nesse caso ele me retornou o registro
>
>  "25              14/04/2008"
>
> e na verdade
>  CodBarras  Vencto                     CodBarras Vencto
>  100            14/04/2008                100          14/04/2008
>  25              14/04/2008                25           14/04/2008
>  42              14/04/2008 ==> preciso que me retorne este registro
>
>
> Em 18/04/08, Ricardo M. Gimenez <rmgimenez em gmail.com> escreveu:
>   
>> Pelo que entendi você teria que retirar o first do select que está no
>> where, iria ficar assim:
>>
>> SELECT FIRST 1
>>            (A.VENCIMENTO),
>>            (A.COD_BAR)
>>            FROM A T16
>>            WHERE A.CD_CLIENTE = :PCD_CLIENTE AND A.PAGTO IS NULL
>>            AND A.VALOR_PAGO IS NULL AND A.ATIVO = 'A'
>>            AND A.VENCIMENTO >= :VENCTO_COMPARA
>>            AND A.COD_BAR <> :NUMERO_COMPARA AND A.NUMERO NOT IN
>>            (SELECT B.COD_BAR FROM B)
>>            ORDER BY 1 ASC
>>
>>
>> Ai ele ia trazer o primeiro que ele encontrar na tabela A de acordo com
>> as condições e que não existe na tabela B.
>>
>> Assim vai dar certo ou eu estou entendendo errado?
>>
>> Ricardo Gimenez
>>
>>
>> Danilo Gomes wrote:
>>     
>>> Rapaz deu quase no que preciso mas olhe o que tentei ...
>>>
>>>         SELECT FIRST 1
>>>             (A.VENCIMENTO),
>>>             (A.COD_BAR)
>>>             FROM A T16
>>>             WHERE A.CD_CLIENTE = :PCD_CLIENTE AND A.PAGTO IS NULL
>>>             AND A.VALOR_PAGO IS NULL AND A.ATIVO = 'A'
>>>             AND A.VENCIMENTO >= :VENCTO_COMPARA
>>>             AND A.COD_BAR <> :NUMERO_COMPARA AND A.NUMERO NOT IN
>>>             (SELECT FIRST 1 B.COD_BAR FROM B  ORDER BY 1 DESC)
>>>             ORDER BY 1 ASC
>>>
>>>
>>>
>>> Em 18/04/08, Ricardo M. Gimenez <rmgimenez em gmail.com> escreveu:
>>>
>>>       
>>>> Bom dia.
>>>>
>>>> Teste assim para ver se funciona da forma que vc quer.
>>>>
>>>> select first 1 a.*
>>>> from tabelaA a
>>>> where a.codbarras not in (select b.codbarras from tabelaN b)
>>>>
>>>> Danilo Gomes wrote:
>>>>
>>>>         
>>>>> Olá tudo bem..
>>>>>
>>>>>   Preciso fazer um select que exiba o primeiro registro de uma tabela
>>>>>
>>>>>           
>>>> que
>>>>
>>>>         
>>>>> não possui correspondente na outra:
>>>>>
>>>>> Exemplo
>>>>>
>>>>>   Tabela A                                      tabela B
>>>>>  CodBarras  Vencto                     CodBarras Vencto
>>>>>  100            14/04/2008                100          14/04/2008
>>>>>  25              14/04/2008                25           14/04/2008
>>>>>  42              14/04/2008 ==> preciso que me retorne este registro
>>>>>
>>>>>
>>>>>
>>>>> ***Detalhe não posso selecionar o maior numero de codigo de barras
>>>>>           
>> pois
>>     
>>>> ele
>>>>
>>>>         
>>>>> nem sempre é o maior
>>>>>
>>>>> ***Não posso selecionar a maior data pois são iguais
>>>>>
>>>>> Ja tentei com subselects,joins etc e etc ..alguem tem alguma ideia
>>>>>           
>> ...??
>>     
>>>>>
>>>>> Obrigado pela atenção ...
>>>>>
>>>>> Abracos ...Danilo
>>>>> ______________________________________________
>>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>>>
>>>>>           
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>>
>>>>         
>>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>>>
>>>>         
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>       
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>     
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>>
>>>       
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>     
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>   





Mais detalhes sobre a lista de discussão lista