Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/11/2012, 18:21
luismercado0209
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Respuesta: Mejor forma de hacer esta consulta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
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.
Ummm pero como hago si dos o mas usuarios comparten un mismo mensaje, crearía otra relación en la tabla intermedia por cada usuario que comparta el mismo mensaje mensaje?