Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/02/2011, 10:53
meloncia
 
Fecha de Ingreso: diciembre-2010
Mensajes: 10
Antigüedad: 13 años, 5 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 ; )