USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SQL retorna dados errados
Knight
GOIÂNIA
GO - BRASIL
ENUNCIADA !
Postada em 28/05/2005 02:54 hs         
Tenho a seguinte tabela X com os
campos A     B q são double
           1      2
           1      1
           -1     2
           3      -1
          -1     -1
 
Quero selecionar todos os registros q n tenham valores A=-1 e B =-1 um deles pode ter  valor -1 mas os dois n podem
 
Usei a seguinte SQL
select * from preva where A <> -1 and B <> -1
Como resposta ele so me mostra os registros q n tem -1
 
Com a outra SQL
select * from preva where A <> -1 or B <> -1
Ele me mostra todos os registros menos o ultimo (ou seja, me devolve o resultado q procuro)
 
Qual a diferença entre os dois Select
 
Agradeço desde já

Emoções Knight Emoções

http://host.csti.eti.br

CSTI WebHosting
Hospedando Idéias Emoções

   
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 28/05/2005 16:38 hs            
Neste caso temos a seguinte lógica
 
V = verdadeiro
F =falso
 
A      B =   A OR B
V      V          V
V      F          V
F      V          V
F      F          F
 
Esta tabela já explica pq veio ou -1 para A ou -1 para B. Somente qdo os dois não forem iguais a -1 é q retorna falso fora isso a senteça sempre é verdadeira
 
A      B =   A AND B
V      V          V
V      F          F
F      V          F
F      F          F
No caso de usar AND somente retornaria verdadeiro se A e B forem verdadeiros. No seu exemplo (A <> -1 and B <> -1) vai somente retornar a linha 1 e 2 pois não tem o valor -1 tanto para A qto para B.
 
qq dúvida é so postar.
 
t+
   
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
ENUNCIADA !
Postada em 30/05/2005 10:24 hs         
select * from preva where (A <> -1 or B <> -1)
este selec retorna todos os registros onde A for diferente de -1 ou o B for diferente de -1 ou A e B forem diferentes de -1 ...e só não mostra se A e B forem iguais a -1
   
Semmer
CURITIBA
PR - BRASIL
ENUNCIADA !
Postada em 30/05/2005 12:40 hs            
Resumindo:
Na primeira o A "e" o B tem que ser diferentes de -1 (OS DOIS DEVEM que ser diferentes)
Na segunda o A "ou" o B tem que ser diferentes de -1 (QUALQUER UM deve ser diferente)
   
Knight
GOIÂNIA
GO - BRASIL
ENUNCIADA !
Postada em 30/05/2005 14:28 hs         
Resolvido, Valew a ajuda
Obrigado a todos

Emoções Knight Emoções

http://host.csti.eti.br

CSTI WebHosting
Hospedando Idéias Emoções

   
Anjo kop
ITAPETININGA
SP - BRASIL
ENUNCIADA !
Postada em 30/05/2005 15:25 hs            
Vc ja usou XOR
tipo
select * from preva where A = -1 xor B = -1
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página