Cita:
Iniciado por damvaz 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.