это estructure базы данных ми для кино интернет-магазине:MySQL: неправильный запрос или плохое структурирование базы данных?
И эти SQL заявления для его создания
фильмы
CREATE TABLE `movies` (
`id_movie` varchar(4) NOT NULL default '',
`nom_movie` varchar(30) default NULL,
`detall_movie` text,
`precio_movie` varchar(6) default NULL,
`img_rut_movie` varchar(50) default NULL,
PRIMARY KEY (`id_movie`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
generos
CREATE TABLE `genres` (
`id_genre` varchar(3) collate utf8_bin NOT NULL default '',
`nom_genre` varchar(20) collate utf8_bin default NULL,
PRIMARY KEY (`id_genero`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
movie_genero
CREATE TABLE `movie_genre` (
`id_movie` varchar(4) collate utf8_bin default NULL,
`id_genre` varchar(3) collate utf8_bin default NULL,
FOREIGN KEY(id_movie) REFERENCES movies(id_movie),
FOREIGN KEY(id_genero) REFERENCES generos(id_genero)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
И, например, Я хочу, чтобы показать фильмы, которые принадлежат к жанру «Action»:
SELECT nom_movie FROM movies, genres, movie_genre WHERE genres.nom_genre = 'action';
Но это показывает более чем 1200 результатов !!, т.е. повторяет 36 фильмов, которые размещены в таблице фильмов 36 раз.
Надеюсь, вы сможете помочь!
Вы mising условия для объединения таблиц – Nico