Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/11/2012, 04:16
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mejor forma de hacer esta consulta

Tienes varios problemas:
1) Estás usando un campo multivaluado (el que quieres usar en la consulta), y los campos multivaluados están totalmente prohibidos en el modelo E-R. Sólo sirven para traer problemas, como los que tienes ahora.
2) IN no te funcionará, porque opera contra listas de valores y tu tienes (aunque creas lo contrario) un único valor. El que internamente sea una lista separada por comas no importa. Es una sola cadena de texto.
3) La única "solución" que tienes es usar una función denominada FIND_IN_SET(), que puedes ver en el manual de referencia (ver el link).

Finalmente: Si quieres una solución correcta y eficiente, deberías descartar el modelado de datos que tienes y replantearlo, aplicando las reglas de diseño correctamente.
Este problema menor que tienes con la consulta será sólo el comienzo de todos los problemas futuros. Ese diseño está mal hecho
Una relación N:N como la determinada por ese campo se define creando una tabla intermedia que gestiona la relación entre el usuario y los mensajes, y no creando un campo multivaluado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)