Por favor necesito, sacar esta consulta o saber si planteado mal la base de datos (en este caso tendria que remplatear todo lo que tenia hecho).
Explico como van las tablas:
Tabla 1
id_cosa
nombre cosa
direccion cosa
Web1 (estos campos a 0 y a 1 para saber en que web se muestra cada 1, si en una web si en dos...o 4 web)
Web2
Web3
Web4
etc...
Conexion
cod_id_cosa (hace referencia a Id cosa)
cod_id_clasificacion 1 (hace referencia a id_clasificacion 1)
cod_id_clasificacion 2 (hace referencia a id_clasificacion 2)
cod_id_clasificacion 3(hace referencia a id_clasificacion 3)
Clasificacion1
id_clasificacion1
nombre_clasificacion
Clasificacion2
id_clasificacion2
nombre_clasificacion
cod_clasificacion1 (hace referencia a id_clasificacion 1)
Clasificacion3
id_clasificacion3
nombre_clasificacion (hace referencia a id_clasificacion 2)
Son varias páginas web que comparten datos, en la que Tabla 1 son datos comunes a todas(solo existe 1 tabla), pero la clasificación de 3 niveles es unica en cada web. Pudiendo cada "Cosa" estar clasificada solo en una rama de cada clasificacion por web (es decir en la misma web). Por lo que de clasificacion hice 3 tablas por cada web, estructuradas de la misma forma (solo cambiando el nombre de la tabla).
Se tiene que permitir qu estos niveles se pueden ramificar a partir de niveles intermedios, ej:
Costa
Blanca
con arena
Costa
Blanca
sin arena
Las clasificaciones pueden acabar en cualquier nivel (puede ser una clasificacion de 1 nivel, 2 niveles o 3 niveles).
Las "id_cosas" pueden estar casificadas o pueden que no lo esten. En caso de que lo esten tienen que estar registradas al final de un rama de clasificacion. No puede quedarse una cosa registrada en un rama intermedia.
Ejemplo: Si una clasificacion es Costa Blanca Arena , la cosa tiene que esta registrada al final de la rama y no quedar en Blanca sin nivel 3 (Arena.)
Ejemplo de datos en tablas
Tabla1
1 nom1 c\asd......................1 0 0 0
2 nom2 c\xcvxcv..................0 1 0 1
3 nom3 c\zxcm....................1 1 1 1
4 nom4 c\toxcvnt................0 0 0 0
5 nom5 c\tozntxcveria........1 1 1 0
6 nom6 c\toxcntebria.........0 0 0 1
7 nom7 c\toxcntebria.........0 0 1 0
Conexion
1 n1-1 n1-2 n1-3 (la cosa 1 perteneceria a un clasificacion de 3 niveles)
2 n1-1 n1-4 0 (el 2 a una clasificacion 2 niveles)
3 s1-2 s1-3 0 (el 3 pertenece a una clasificacion de dos niveles, cambia el id xq pertenece a otra web)
4 k1-3 0 0 (de 1 nivel)
5 n1-1 n1-2 n1-3 ( 5 pertenece a la clasificacion de 3 niveles = que 1)
6 k1-1 0 0 (1 nivel de otra web)
3 tablas clasificacion por cada web
Clasificacion1 Web1
n1-1 Costa
Clasificacion2 Web1
n1-2 Blanca n1-1
n1-4 Negra n1-1
Clasificacion3Web1
n1-3 con Arena n1-2
De esta manera existiria 2 clasificaciones (Costa blanca con arena , Costa negra)
Otra Web
Clasificacion1 Web2
s1-1 Montaña
Clasificacion2 Web2
s1-3 con nieve
Clasificacion3 Web2
0
..... y asi tres tablas de clasificacion por cada web
Esto lo escribo por si he planteado mal las tablas (Casi seguro que si soy un novatillo) y me dieseis sugerencias porque me vuelvo loco.
A todo esto la consulta que no soy capaz de hacer es la siguiente:
Imaginemos que estamos en "Web1" solo hara referencia a tabla1, conexión y la 3 tablas de clasificacion que corresponden a esa web (en este caso Clasificacion1_web1,Clasificacion2_web1,Clasificac ion3_web1 ).
Sacar los datos de tabla uno que pertenecen a esta web, mas la clasificacion a la que pertenece cada uno (si no esta clasificado esta no apareceria, pero si los demas datos de tabla1).
Ejemplo de resultaado
Solo muestro resultados de Web1 cuyoss id eran (nx-x , x son los numeros q forman el id)
Nombre clasificacion
nom1 costa blanca con arena
nom7 (no sale nada xq no esta clasificado)
nom2 costa negra
Espero haberme explicado lo mejor posible, y agradeceria mucho la ayuda (si la consulta no se puede hacer por mal planteamiento de la base dedatos me gustaria que me dijeseis como lo hariais la relaciones (aunque me cambie muxas cosas del proyecto)).
Gracias a todos