Ir para conteúdo

Arquivado

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

BryanStaR

[Resolvido] Varios AND com um OR Dá erro?

Recommended Posts

Olá a todos gostaria de saber porque quando tenho varios and e um OR ele ignora os AND anteriores

 

 

sql="SELECT * FROM cadstro WHERE UF = '" & UF & "' AND idade = "& Idade &" AND cidade = '" & cidade & "' OR naturalidade = '" & cidade & "' "

 

neste exemplo ele ignora idade = idade e uf = uf ele traz qualquer um da tabela cadastro que for da cidade = cidade ou de naturalidade = cidade.

 

Alguem saberia me dizer de qual forma devo fazer para trazer de forma correta os registros?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O filtro que você queria fazer seria como? Se você jogar um or sem usar os parênteses para montar as condições que quer corretamente sim, o or ignorará seus ands...

 

Da forma que você fez seu select, você disse o seguinte ao servidor:

 

selecione tudo do cadastro onde UF = '& UF & ' e Idade = '& idade & ' e cidade = ' & cidade & '

OU selecione tudo do cadastro ONDE NATURALIDADE = '& cidade & '

 

Sacou?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa verificar a logica real da coisa e deixar claro usando os parenteses de forma correta

 

senao ocorre o que foi dito no post anterior

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aeee valew era a falta dos parenteses mesmo

 

Fiz desta forma e funcionou

 

sql="SELECT * FROM cadstro WHERE UF = '" & UF & "' AND idade = "& Idade &" AND (cidade = '" & cidade & "' OR naturalidade = '" & cidade & "') "

 

Obrigado a todos pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito entao

 

parabens pela solucao

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.