Miren, tengo estas tablas:
Código:
Y esta: CREATE TABLE GENERO( ID_GENERO INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, NOMBRE_GENERO CHAR(25) NOT NULL );
Código:
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.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);
Pero luego, me da problemas al intentar mostrar los valores por pantalla. Pues si pongo por ejemplo:
Código:
Y asi hasta completear los 3 JOINS me da error. ¿Como lo harian ustedes?. Algun concejito por favor.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
