Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/01/2010, 20:58
Myless
 
Fecha de Ingreso: enero-2010
Mensajes: 88
Antigüedad: 14 años, 3 meses
Puntos: 2
Un Consejito porfavor

Hola

Miren, tengo estas tablas:

Código:
CREATE TABLE GENERO(
 ID_GENERO INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
 NOMBRE_GENERO CHAR(25) NOT NULL
);
Y esta:

Código:
CREATE TABLE FICHA(
 ID_FICHA INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
 ID_TITULO INT NOT NULL, # FOREIGN KEY TITULO.ID_TITULO
 ID_DESARROLADOR INT NOT NULL, # FOREIGN KEY DESARROLLADOR.ID_DESARROLLADOR
 ID_GENERO INT NOT NULL, # FOREIGN KEY GENERO.ID_GENERO
 ID_GENERO_DOS INT DEFAULT NULL, # FOREIGN KEY GENERO.ID_GENERO
 ID_GENERO_TRES INT DEFAULT NULL, # FOREIGN KEY GENERO.ID_GENERO
 DIA_LANZAMIENTO INT DEFAULT NULL,
 MES_LANZAMIENTO INT DEFAULT NULL,
 ANO_LANZAMIENTO INT DEFAULT NULL,
 NUMERO INT DEFAULT NULL,
 PLATAFORMA INT DEFAULT NULL,
 IMAGEN_FICHA CHAR(255) NOT NULL, #100px Ancho, 120px Alto
 EDAD_RECOMENDADA CHAR(30) DEFAULT NULL,
 OTROS_NOMBRES CHAR(40) DEFAULT NULL
);

ALTER TABLE FICHA ADD FOREIGN KEY(ID_TITULO) REFERENCES TITULO(ID_TITULO);
ALTER TABLE FICHA ADD FOREIGN KEY(ID_DESARROLADOR) REFERENCES DESARROLLADOR(ID_DESARROLLADOR);
ALTER TABLE FICHA ADD FOREIGN KEY(ID_GENERO) REFERENCES GENERO(ID_GENERO);
ALTER TABLE FICHA ADD FOREIGN KEY(ID_GENERO_DOS) REFERENCES GENERO(ID_GENERO);
ALTER TABLE FICHA ADD FOREIGN KEY(ID_GENERO_TRES) REFERENCES GENERO(ID_GENERO);
Como se pueden dar cuenta, la tabla FICHA hace referencia a la tabla GENERO 3 veces. La idea, es que en la tabla genero, la llene por ejemplo con, Accion, Aventura, etc. Y luego, que cada ficha contenga hasta 3 generos distintos.

Pero luego, me da problemas al intentar mostrar los valores por pantalla. Pues si pongo por ejemplo:

Código:
SELECT F.ID_GENERO, F.ID_GENERO_DOS, F.ID_GENERO_TRES, G.ID_GENERO, G.NOMBRE_GENERO FROM FICHA F INNER JOIN GENERO G ON F.ID_GENERO = G.ID_GENERO INNER JOIN GENERO G ON F.ID_GENERO_DOS = G.ID_GENERO
Y asi hasta completear los 3 JOINS me da error. ¿Como lo harian ustedes?. Algun concejito por favor.