Ir para conteúdo

POWERED BY:

Arquivado

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

horacio2009

query parece certa, mas retorna info errada

Recommended Posts

Boa noite a todos!!!

estou tendo problemas com esta query...

 

SELECT * FROM  `negociacao` WHERE origem =  '0800' AND relacao =  'iconsorciofiat' OR relacao =  'nacional' OR relacao =  'volks' LIMIT 0 , 30

o que acontece:

peço a pesquisa, ela realiza a query tranquila, porém, nem todas as origens são 0800. algumas são cadastro, outras pré...

o que acontece???

onde, dentro dessa pesquisa está chamando ou informando errado????

como fazer que TODOS os resultados possíveis sejam apenas com a origem 0800???

(ou igual a variável $origem)????

bom, pessoal, muito obrigado, aguardo uma ajuda...

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

SELECT * FROM  `negociacao` WHERE origem IN ('0800') AND ( relacao =  'iconsorciofiat' OR relacao =  'nacional' OR relacao =  'volks') LIMIT 0 , 30

Veja o que eu fiz, pesquise sobre IN e NOT IN, e veja mais sobre os parenteses.. o problema pode ser esse.. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

horario,

 

o comando que você deseja é o seguinte:

 

SELECT * FROM  `negociacao` WHERE origem =  '0800' AND (relacao = 'iconsorciofiat' OR relacao =  'nacional' OR relacao =  'volks') LIMIT 0 , 30

Da maneira que você está ele vai buscar todos os registros que caem na seguinte situação:

origem igual a '0800' e relacao igual a 'iconsorciofiat'

relacao igual a 'nacional'

relacao igual a 'volks'

 

Ele primeiro faz a operação AND, depois faz o OR, então se coloca parênteses, já que eles são resolvidos primeiro, é que nem matemática, multiplicação e divisão é resolvido primeiro que adição e subtração.

 

Dá uma olhada na internet, procure por portas lógicas, que ficará mais claro.

 

Abraço.

 

Érico

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.