Cita:
Iniciado por tomuer01
si, correcto.
Bueno, el primer problema que tienes en realidad es que has creado lo que parece ser un a relación N:M ente Sucursal y Departamento, creando un campo multivaluado (varios valores del mismo dominio en el mimo campo del mismo registro).
Eso puede parecer una buena idea a los programadores, pero es una
violación al modelo relacional y un error
enorme y peligroso para una base de datos. Poner un campo multivaluado haría que reprobaras el examen de BBDD en cualquier universidad. Esetipo de campos genera problemas de consulta (como la tuya) y también problemas de consistencia e integridad de datos.
Tiene dos soluciones para tu caso: 1) Poner ese campo como debe ser en una base de datos relacional y 2) Seguir trabajando con él así como está, pudiendo eventualmente tener serios problemas de integridad en la base de datos (no digo que
puedes tenerlos, los
vas a tener; es cuestión de tiempo).
En el
primer caso, la relación N:M entre dos entidades o dos ytablas se expresa siempre con una tabla adicional, donde se ponen como PK las PK correspondientes a cada tabla. En tu caso esa tabla tendría la PK de sucursal y la PK de departamento, apareciendo un registro por cada par combinado de ambos:
Tabla SUCURSAL_DEPARTAMENTO(id_sucursal, id_departamento)
En este caso la consulta debería ser casi igual a como la pusiste:
En el
segundo caso, hay una función que puede hacer lo que tu quieres:
Esta solución te puede hacer salir del paso, y puede parecer una buena idea, pero te remarco que la tabla, tal y como la tienes,
te traerá problemas en el futuro.
Te conviene remodelar la base y respetar el modelo entidad - relación. Por algo se inventó.