Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/02/2013, 14:19
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Filtrar resultante de filtro de registros

Hola remfo:

Algunas recomendaciones antes de intentar contestar tu pregunta. En primer lugar NO MEZCLES LENGUAJES... si publicas tu pregunta en este foro enfócate sólo en el código SQL, no incluyas ningún otro lenguaje de programación (PHP, Java, ASP.NET, etc). Si tu pregunta tiene que ver con el lenguaje de programación, pues publícala en el foro respectivo.

Ahora bien, volviendo a tu pregunta, debes tener cuidado cuando utilizas condiciones AND y OR en una misma sentencia WHERE... estos operadores TIENEN UNA JERARQUÍA DISTINTA, esto quiere decir que primero se ejecutan las condiciones AND y después las condiciones OR...

Código:
Recuerdas que en matemáticas:

3 + 2 * 5 = 13
Esto es porque la multiplicación TIENE MAYOR JERARQUÍA que la suma... Cuando mezclas operadores es necesario hacer un uso correcto de los paréntesis:

Código:
volviendo al ejemplo de matemáticas:

(3 + 2) * 5 = 15
Es decir, al agrupar con paréntesis la suma, esta se ejecuta antes que la multiplicación.

Con SQL es lo mismo... podrías intentar hacer esto para ver si te funciona.

Código:
SELECT * FROM productos 
WHERE marca = '$marca'  AND rubro = '$rubro' 
AND (descripcion LIKE '%algo%' OR codigo LIKE '%algo%') 
Observa que estoy agrupando las condiciones OR con paréntesis...

Si esto no te funciona, te pediría que nos pongas algunos datos de ejemplo de tu tabla, y que a partir de estos datos nos digas qué es lo que esperas obtener como salida.

Saludos
Leo.