Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/01/2012, 09:39
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: Consultar SET en columna SET

Cita:
Iniciado por damvaz Ver Mensaje
Hola amigos!

Tengo una tabla con un campo tipo SET que guarda una lista de números enteros (ej: 2,7,5,6,4,10). Normalmente una consulta para ese campo implica usar la funcion FIND_IN_SET, pero el problema es que esa funcion solo sirve para averigüar la existencia de un SOLO valor dentro del conjunto.

Yo necesito alguna forma de averigüar la existencia de VARIOS valores en el conjunto. Por ejemplo, consultar si (1,4,5) está en el conjunto (0,6,5,7,13,4,8,5). El orden no me importa. Creo que se puede hacer con REGEXP o LIKE, o con un bucle en mysql, pero no se la manera.

Por favor, alguien podria ayudarme?
El problema es que desde el vamos estás trabajando mal. Creaste un campo multivaluado y eso no se debe hacer.
Si tienes N valores asignables a un campo, tienes una cardinalidad 1:N entre una entidad y un valor, por lo cual debes crear otra tabla que contenga un registro por cada valor posible.
Cualquier otra slución no sólo no respeta el modelo entidad-relación, sino que además hace que las consultas se vuelvan imposibles o extremadamente complicadas, como en tu caso.
Una de dos: O corriges el defecto que has creado, o realizas tu solución por medio de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)