Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2007, 16:07
micaserio
 
Fecha de Ingreso: diciembre-2002
Mensajes: 14
Antigüedad: 22 años
Puntos: 0
Creo que es imposible pero...m:n

Hola a todos ,
creo que el modelo relacional no soporta las relaciones m:n seguramente solo con sql no conseguiré hacer lo que me propongo.

Si tengo una relación m:n por ejemplo:
tabla1:LIBRO
tabla2:CATEGORIA
tabla3:mm_LIBRO_CATEGORIA

El propósito es que los diferentes LIBROS puedan pertenercer a diferentes categorias. Para ello en la tercera tabla tendríamos en una columna la clave principal de LIBRO y la clave principal de CATEGORIA.

PERO...
¿Y si yo quiero hacer una consulta donde obtener todos los libros que pertenezcan a n categorias diferentes a la vez? (sin saber a priori el valor de n)
Si lo que me propongo es obtener todos los libros que pertenecen a una categoria de n posibles es muy sencillo --> mediante inner joins y luego clausulas 'where' unidas por 'or's. Pero no podemos hacer lo mismo mediante 'and' lógicos.

Alguien sabría hacerlo sin utilizar procedimientos almacenados? O indicarme algún lugar donde se debata la problemática?

Muchas gracias a todos.