Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/05/2013, 15:17
matake
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: Excluir palabras de una consulta

Cita:
Iniciado por jurena
Observa las dificultades, pero funcionar funciona,
Hola jurena, lo siento pero NO. No funciona

Por muy compleja que es ... te lo juro me he quedado como ... wwwaaauuuu ...
cuando he visto lo que acabas de postear arriba y creo que te costo bastante trabajo para hacerlo ... pero de las tres filas de ejemplo que he puesto en mi ejemplo arriba ... saca las tres .... o sea igual que yo tenia al principio con una sola linea

Código MySQL:
Ver original
  1. SELECT id, campo FROM tabla
  2. WHERE campo REGEXP '([[:<:]]".$mi_busqueda.")'

donde $mi_busqueda podria ser "p","pa","par" o "para" ... pues hacia lo mismo sacaba las tres filas ( del ejemplo que di en mi segundo post ) or yo esperaba que solo muestre las filas 2 y 3 y no la fila 1

Bueno, pero si que me diste buenas pistas pero después de tres .... casi cuatro horas creo ... sin parar sobre este asunto he llegado a una lógica mas simple aunque no me funciona por tener un error en la sintaxis haber si me puedes ayudar a repararlo

Mi logica inspirado en tu respuesta anterior :
Código MySQL:
Ver original
  1. (
  2.     SELECT id, campo
  3.     FROM tabla
  4.     WHERE
  5.  
  6. /*muestra las filas que contienen palabras que empiezan por $mi_busqueda */
  7.     campo REGEXP '[[:<:]]".$mi_busqueda."' =1
  8.  
  9. /*no muestra las filas que no contienen palabras que empiezan por $mi_busqueda y  tienen la palabra entera "para" */
  10.     NOT
  11.     (campo REGEXP '[[:<:]]".$mi_busqueda."'=0 AND
  12.     campo REGEXP '[[:<:]]para[[:>:]]' =1)
  13. )
  14.  
  15. /*Aunque por separado si que hacen lo que se supone no logro que trabajen conjunto por un error de sintaxis */

Como lógica no creo que estaría mal pero al no tener experiencia este ejemplo me arroja ahora un error de sintaxis "You have an error in your SQL syntax; check the manual .... "

Aunque llevo buscando y probando ... no lo consigo

Curioso es que por separado si dejo la primera sentencia .... funciona ... y si dejo la segunda .... ( la de NOT ) ... tambien funciona .... o sea .... creo que es una cosa muy muuuyyyy basica de sintaxis pero no llego resolver

Gracias y disculpen por estar un poco pesado