Tengo un caso de relación de muchos a muchos...pongo un ejemplo:
Categorías>Items
Países>Items
Donde, tengo las tablas.
Código:
Ahí, para levantar items, y filtrarlos esta todo bien, ya que mediante la tabla de items_categorías, o items_paises puedo filtrar perfectamente teniendo un id de pais o categoría.Items <-items_categorias-> categorias <-items_paises-> paises
El tema es cuando quiero filtrar países de una determinada categoría. Se que suena confuso..., pero por ejemplo si quiero levantar solo los paises que tengan al menos un item en la categoría "lugares".
Lo que tengo que hacer es cruzar ambas tablas items_categorías y items_paises, ya que no tengo una relación directa de categoría a país, sino que tengo que pasar por items que es quien relaciona a ambas.
1- Hay alguna manera de normalizar esto para no hacer taaaantas vueltas ?
2- Como se llaman a estas relaciones "abstractas"?
3- Es mejor en caso de no existir solución usar join o sub selects?
Gracias
PD/Edit: Pensándola un toque el tener una única tabla así EJ:
item | categoria | pais
Podría solucionarlo, consultando todo ahí, pero el tema es que este es un ejemplo, y realmente tengo a items varias de estas relaciones múltiples, no se si sea una buena idea ésta.