Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/12/2010, 09:17
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Buscar en campos de una tabla por palabra o frase clave

Hola ferola, creo que el problema que tienes es debido a la jerarquía de operadores, debes recordar que un AND se evalúa primero que un OR.

Creo que tu consulta la estás dejando más o menos así:

Código MySQL:
Ver original
  1. SELECT * FROM usuarios WHERE edad= '15' AND
  2. aficiones LIKE '%afición1%' or
  3. aficiones LIKE '%afición2%' or
  4. aficiones LIKE '%afición3%'


Con esto lo que estás filtrando es todos aquellos registros que tengan edad = 15 años y la afición1 + todos los que tengan la afición2 (sin importar la edad) + todos los que tengan la afición3 (Sin importar la edad)

Creo que tu consulta debería quedar más o menos así:

Código MySQL:
Ver original
  1. SELECT * FROM usuarios WHERE edad= '15' AND
  2. (
  3. aficiones LIKE '%afición1%' or
  4. aficiones LIKE '%afición2%' or
  5. aficiones LIKE '%afición3%'
  6. )

Al agrupar todas las condiciones OR entre paréntesis obligas a que primero se evalúe esta condición y el resultado final se evalúe con la comparación de la edad

Saludos
Leo.