Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2004, 23:06
mmdmay
 
Fecha de Ingreso: julio-2004
Mensajes: 29
Antigüedad: 19 años, 10 meses
Puntos: 0
Relaciones múltiples entre DOS TABLAS

Relaciones múltiples entre DOS TABLAS

Tengo una tabla que es una lista de elementos de diferentes tipos, en el ejemplo
he extractado solo algunos elementos de los tipos 9 (Poblaciones) y 10 (Provincias)
(En realidad existen 42 tipos diferentes de elementos)

Lista_ID-----Lista_Tipo_ID------Lista_Nombre Tabla LISTA
.338..............9..............Roquetas
.339..............9..............Aguadulce
.341..............9..............Armilla
.342..............9..............Albolote
.512.............10..............Almería
.528.............10..............Granada


La identificación de cada elemento se realiza a través de otra tabla de la que
también he preparado un extracto, aunque, para el caso que nos ocupa, creo
que no se necesita

---Tipo_ID---Tipo_Nombre Tabla TIPO

.......8......Jefes de Obra
.......9......Poblaciones
......10......Provincias
......11......Apertura


Prácticamente en todas las tablas de datos de la aplicación se hacen referencias
múltiples a la tabla de elementos. La que sigue es un buen ejemplo

Local_ID---Local_Nombre---Local_Poblacion_ID---Local_Provincia_ID Tabla LOCAL

.....1....Comercial Pérez.........339................512
.....2....Carnes Gómez............341................528
.....3....Tienda Joven 1..........338................512
.....4....Tienda Joven 2..........339................512
.....5....Tienda Joven 3..........341................528
.....6....Tienda Joven 4..........342................528


Necesito crear un SELECT de MySQL en el que pueda recoger los registros de
esta última tabla y clasificarlos pos dos conceptos, por Provincias y por
Poblaciones. (Naturalmente, por sus nombres, no por sus identificadores)

Clasificar por uno solo de los conceptos es muy fácil y lo consigo con este SELECT

comando = comando & " SELECT * FROM LOCAL "
comando = comando & " INNER JOIN LISTA "
comando = comando & " ON Local_Provincia_ID = Lista_ID "
comando = comando & " ORDER BY Lista_Nombre"

Con este SELECT, mi listado quedaría así

Local_ID-Local_Nombre---Local_Poblacion_ID---Lista_Nombre
...1....Comercial Pérez.........339.............Almería
...3....Tienda Joven 1..........338.............Almería
...4....Tienda Joven 2..........339.............Almería
...2....Carnes Gómez............341.............Granada
...5....Tienda Joven 3..........341.............Granada
...6....Tienda Joven 4..........342.............Granada


También sería fácil, si cada tipo de elemento fuese una tabla independiente, pero no está
en nuestra mano, ya que la Aplicación tiene muchas páginas funcionando con el formato
actual, y cambiarlas todas podría ser muy costoso. (y serían 42 tablas diferentes)

Visto esto:
¿¿Como podría conseguir, además, clasificar por los nombres de las
Poblaciones?? y, también, ¿¿como podría reflejarlos en el listado??

Última edición por mmdmay; 25/07/2004 a las 09:20