Я практиковался с примером, который я создавал, как приведенный ниже (где я думал о том, что фильм может принадлежать ко многим категориям, а категория, которая может принадлежать, имеет много подкатегорий).
Не уверен, что цепочка двух отношений «многие ко многим» верна (я разделил их на несколько отношений «один ко многим»), но когда я делаю запрос, я получаю довольно странные результаты.
Любая подсказка, как я могу получить название фильма и название жанра для всех фильмов, даже без названия жанра?Я использую запрос, подобный этому, но он не возвращает эти заголовки: S
Если я остановлюсь после 1-го отношения «многие ко многим», результаты окажутся правильными, но как только я добавлю 2-е отношение (сзапрос ниже), я ничего не получаю ... какие-либо предложения, пожалуйста?
SELECT movie.title, genre.name
FROM movie
LEFT OUTER JOIN movie_genre
ON (movie.movie_id = movie_genre.movie_id)
JOIN genre
ON (genre.genre_id = movie_genre.genre_id)
JOIN genre_subgenre
ON (genre_subgenre.genre_id = genre.genre_id)
JOIN subgenre
ON (subgenre.subgenre_id = genre_subgenre.subgenre_id)
+++++++++++++++++
+ Movie ID (PK) +
+ Movie Title +
+++++++++++++++++
|
|
|
+++++++++++++++++
+ Movie ID (FK) +
+ Genre ID (FK) +
+++++++++++++++++
|
|
|
+++++++++++++++++++
+ Genre ID (PK) +
+ Genre Name +
+++++++++++++++++++
|
|
|
++++++++++++++++++++
+ Genre ID (FK) +
+ Subgenre ID (FK) +
++++++++++++++++++++
|
|
|
+++++++++++++++++++++++++
+ Subrenre ID (PK) +
+ Subgenre Name (FK) +
+++++++++++++++++++++++++