Primero de todo gracias por contestar...
Fíjate que la consulta que comentas es equivalente a -->
select l.nombre_libro, c.descripcion_categoria
from Tabla_Libro l,
Tabla_Categoria c,
Tabla_Libro_Categoria lc
where l.id_libro=lc.id_libro
and lc.id_categoria=c.id_categoria
and (c.id_categoria=1 or c.id_categoria=2 or c.id_categoria=..n)
es decir podemos obtener los registros que pertenezcan como mínimo a una de esas categorias, pero ¿si quisieramos que pertenecieran a 'todas' las galerias?
Lo primero que pensé fué...pues cambio el or por un and
, pero no, si se analiza como se obtienen los resultados no tiene ningún sentido hacer eso y nunca se cumple la condición, ya que las distintas categorias están en registros diferentes.
Por eso creo que no se puede realizar en sql y habría que utilizar un procedimiento almacenado para recorrer los resultados y comprobar que Libro.id ha obtenido un registro para cada una de las categorias a comprobar.
Un saludo.