Cita: EDITO: No había leído la respuesta de h2swider, es la misma que doy. Saludos.
Hola yop289:
Tal como ya lo mencionó acertadamente gnzsoloyo tienes un grave problema con el modelo de datos que estás manejando al tener campos multivaluados, pero por experiencia propia sé que en muchas ocasiones no es posible realizar un cambio al modelo (sobre todo cuando el jefe no quiere aplicar cambios

), por lo tanto hay que ajustarse a lo que hay. veo que estás utilizando como separador espacio-coma-espacio correcto??? si es así, se me ocurren dos formas para resolver tu problema:
Código MySQL:
Ver original+------+---------------------------------------------+
| id | nombres |
+------+---------------------------------------------+
| 1 | jose antonio , ramon , jose maria , gonzalo |
| 2 | jose antonio , jose , luis , jose luis |
| 3 | jose , mario , alvaro , fernado , jose |
+------+---------------------------------------------+
+------+----------------------------------------+
| id | nombres |
+------+----------------------------------------+
| 2 | jose antonio , jose , luis , jose luis |
| 3 | jose , mario , alvaro , fernado , jose |
+------+----------------------------------------+
mysql>
-> nombres
LIKE '%, jose ,%' OR -> nombres
LIKE '%, jose'; +------+----------------------------------------+
| id | nombres |
+------+----------------------------------------+
| 2 | jose antonio , jose , luis , jose luis |
| 3 | jose , mario , alvaro , fernado , jose |
+------+----------------------------------------+
En el primer ejemplo utiliza la función FIND_IN_SET para buscar, pero el separador por defecto es coma, no espacio-coma-espacio... por eso el REPLACE.
La segunda forma sería buscando las posibles posiciones donde encontrar la palabra, es decir, al inicio de la cadena, en medio o al final. Por supuesto que esto puede resultar fatal para el rendimiento del servidor.
Soy de la misma opinión que gnzsoloyo, si te es posible cambia tu modelo de datos y evita dolores de cabeza en el futuro.
Saludos
Leo.