Jump to content


O Que Há De Errado?


  • Faça o login para participar
2 replies to this topic

#1 ThunderBolt

ThunderBolt
  • Visitantes

Posted 10/03/2003, 23:34

Olá Pessoal,
Gostaria de saber o que há de errado no SQl abaixo:
SELECT * FROM Media WHERE categoria = 'PERFORMANCES' AND tipo = 'MPG' AND titulo like '%Baby%' OR info like '%Baby%' ORDER BY id Desc;
Pois ae executar este Select que é resultante de um form de busca ele mostra os registro que possuem 'baby' nos campos "info e titulo" do BD mas ignora os campos "categoria e tipo".

O que está errado?! :(

Valew,
Ateh mais,
Leonardo Storch

#2 lol

lol

    LOL

  • Usuários
  • 109 posts
  • Sexo:Não informado

Posted 10/03/2003, 23:55

Veja bem a query.

O problema deve ser de prioridade de operadores.

o AND (se não me engano) possue prioridade maior que o OR, sendo assim a sua query só deverá retornar quando no caso de categoria = 'PERFORMANCES' AND tipo = 'MPG' AND titulo like '%Baby%' ou info like '%Baby%'.

Utilize parênteses para resolver os casos de prioridades de operadores.

Acredito que o você deseje seja

SELECT 
    * 
FROM 
    Media 
WHERE 
    categoria = 'PERFORMANCES' AND tipo = 'MPG' AND 
    (titulo like '%Baby%' OR info like '%Baby%') 
ORDER BY 
    id Desc;


#3 ThunderBolt

ThunderBolt
  • Visitantes

Posted 11/03/2003, 17:08

Valew kra muito obrigado, era realmente isto!

Puxa estava quebrando a cabeça!

Valew,
Leonardo Storch




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq