Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta compleja

Estas en el tema de Consulta compleja en el foro de Mysql en Foros del Web. Hola ^^ llevo dias intentando resolver esta consulta y no hay manera... Resumen de todos los dispositivos de red que tenemos, indicando su código, su ...
  #1 (permalink)  
Antiguo 26/02/2011, 10:53
 
Fecha de Ingreso: diciembre-2010
Mensajes: 10
Antigüedad: 13 años, 4 meses
Puntos: 0
Consulta compleja

Hola ^^ llevo dias intentando resolver esta consulta y no hay manera...

Resumen de todos los dispositivos de red que tenemos, indicando su código, su tipo de dispositivo (switch, módem, etc.) y el aula dónde se está usando.

Sólo deben aparecer los dispositivos que pertenecen a combos y los combos a los que pertenecen. La consulta debe estar organizada, de manera que aparezca el
nombre del dispositivo combo, el nombre del dispositivo y a continuación su tipo y el aula dónde se está usando.


Lo del aula me da igual... lo que quiero resolver es que me aparezca los dispositivos que pertenecen a un combo y saber cual es el nombre del combo

Aqui les dejo las tablas:

La tabla dispositivo seria el padre, y los hijos el resto de tablas (COMBO tb seria un tipo de dispositivo):

CREATE TABLE IF NOT EXISTS DISPOSITIVO(
CodDispositivo INT NOT NULL,
Tipo INT NOT NULL,
modelo VARCHAR(50) NOT NULL,
PRIMARY KEY (CodDispositivo),
INDEX(Tipo),
FOREIGN KEY(Tipo) REFERENCES TIPO(CodTipo) ON UPDATE CASCADE ON DELETE NO ACTION
) ENGINE=INNODB CHARSET=utf8;


CREATE TABLE IF NOT EXISTS COMBO(
CodCombo INT NOT NULL,
Aula INT,
PRIMARY KEY (CodCombo),
INDEX(Aula),
FOREIGN KEY(Aula) REFERENCES AULA(CodAula) ON UPDATE CASCADE ON DELETE NO ACTION,
INDEX(CodCombo),
FOREIGN KEY(CodCombo) REFERENCES DISPOSITIVO(CodDispositivo) ON UPDATE CASCADE
)ENGINE = INNODB CHARSET=utf8;




CREATE TABLE IF NOT EXISTS MODEM(
CodModem INT NOT NULL,
Combo INT,
PRIMARY KEY (CodModem),
INDEX(CodModem),
FOREIGN KEY(CodModem) REFERENCES DISPOSITIVO(CodDispositivo) ON UPDATE CASCADE,
INDEX(Combo),
FOREIGN KEY(Combo) REFERENCES COMBO(CodCombo) ON UPDATE CASCADE
)ENGINE = INNODB CHARSET=utf8;



CREATE TABLE IF NOT EXISTS SWITCH(
CodSwitch INT NOT NULL,
puertofe INT NOT NULL,
puertoga INT NOT NULL,
Combo INT,
PRIMARY KEY (CodSwitch),
INDEX(CodSwitch),
FOREIGN KEY(CodSwitch) REFERENCES DISPOSITIVO(CodDispositivo) ON UPDATE CASCADE,
INDEX(Combo),
FOREIGN KEY(Combo) REFERENCES COMBO(CodCombo) ON UPDATE CASCADE
)ENGINE = INNODB CHARSET=utf8;



CREATE TABLE IF NOT EXISTS ROUTER(
CodRouter INT NOT NULL,
iplan VARCHAR(15) NOT NULL,
ipwan VARCHAR(15),
mascara1 VARCHAR(15),
mascara2 VARCHAR(15),
Combo INT,
PRIMARY KEY (CodRouter),
INDEX(CodRouter),
FOREIGN KEY(CodRouter) REFERENCES DISPOSITIVO(CodDispositivo) ON UPDATE CASCADE,
INDEX(Combo),
FOREIGN KEY(Combo) REFERENCES COMBO(CodCombo) ON UPDATE CASCADE
)ENGINE = INNODB CHARSET=utf8;



CREATE TABLE IF NOT EXISTS PUNTOACCESO(
CodPunto INT NOT NULL,
ip VARCHAR(15) NOT NULL,
bssi VARCHAR(20),
Combo INT,
mascara VARCHAR(15),
PRIMARY KEY (CodPunto),
INDEX(CodPunto),
FOREIGN KEY(CodPunto) REFERENCES DISPOSITIVO(CodDispositivo) ON UPDATE CASCADE,
INDEX(Combo),
FOREIGN KEY(Combo) REFERENCES COMBO(CodCombo) ON UPDATE CASCADE
)ENGINE = INNODB CHARSET=utf8;



CREATE TABLE IF NOT EXISTS HUB(
CodHub INT NOT NULL,
numpuertos INT NOT NULL,
Combo INT,
PRIMARY KEY (CodHub),
INDEX(CodHub),
FOREIGN KEY(CodHub) REFERENCES DISPOSITIVO(CodDispositivo) ON UPDATE CASCADE,
INDEX(Combo),
FOREIGN KEY(Combo) REFERENCES COMBO(CodCombo) ON UPDATE CASCADE
)ENGINE = INNODB CHARSET=utf8;



Gracias de antemano y espero que me puedan ayudar ; )

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:46.