Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kzar

Problemas com Select

Recommended Posts

Boa tarde pessoal. Estou tendo um problema com um select, se alguém puder me ajudar eu agradeço.

O select é este:

 

Select
First 100
COB_ENV,
dak,
CONHEC_EMB,
Dest_Cnpjcpf,
Rem_Cnpjcpf,
Id,
Chave_Acesso,
'Filialcarg' As Filialcarga,
Serie,
Numero_Cte,
Data_Emissao,
Case Forpag
When 0 Then 'C'
When 1 Then 'F'
End As Forpag,
'0000000' As Pesotransp,
Vprest_Vtprest,
0 As Basecalculo,
0 As Perc_Icms,
0 As Valor_Icms,
0 As Valor_Frete_Pv,
Vprest_Vrec,
0 As Valor_Sec_Cat,
0 As Valor_Itr,
0 As Valor_Despacho,
0 As Valor_Pedagio,
0 As Valor_Ademe,
2 As Subs_Trib,
'' As Nat_Operacao,
Emit_Cnpj,
Emit_Cnpj As Cnpj_Emb

From
Cte
Where Dest_Cnpjcpf = :Dest_Cnpjcpf OR Rem_Cnpjcpf = :Dest_Cnpjcpf
And Coalesce(Conhec_Emb,'') = 'N'
And Coalesce(Dak,'') = 'S'
Order By Cte.Id

 

O que eu pretendo é selecionar os 100 primeiros registros desde que o cnpj do destinatário ou do remetente sejam iguais ao parâmetro passado (:Dest_Cnpjcpf) e os campos Conhec_Emb seja igual a N e o campo Dak seja igual a S.

 

Isso por que quando esses 100 registros forem enviados o campo Conhec_Emb será atualizado para S.

 

Então, o plano era que no próximo Select viessem outros 100 registros.

 

Porém, todas as vezes vem os mesmos registro. E o mais estranho, para mim, o próprio Conhec_Emb vem já atualizado para S, só que uma das cláusulas do select pede justamente que não venham os registros que contém S.

 

Estou com dificuldade em entender o que se passa, se puderem me ajudar agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com OR e AND na mesma sentença WHERE use parenteses para ter certeza da seleção que se quer.

 

Where (Dest_Cnpjcpf  = :Dest_Cnpjcpf OR  Rem_Cnpjcpf  =  :Dest_Cnpjcpf)

 And Coalesce(Conhec_Emb,'') = 'N'  

And Coalesce(Dak,'') = 'S'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.