Я пытаюсь создать представление в MySQL для включения из трех разных таблиц.Создать вид из трех разных таблиц?
CREATE TABLE ACTOR (
ACTOR_ID DECIMAL (2,0) PRIMARY KEY NOT NULL,
ACTOR_FIRST CHAR(25),
ACTOR_LAST CHAR(30),
DOB DATE
);
CREATE TABLE DIRECTOR (
DIRECTOR_ID DECIMAL(2,0) PRIMARY KEY NOT NULL,
DIRECTOR_FIRST CHAR(25),
DIRECTOR_LAST CHAR(30)
);
CREATE TABLE FILM (
FILM_ID DECIMAL(2,0) PRIMARY KEY NOT NULL,
TITLE CHAR(50),
RELEASE_DATE DATE,
DIRECTOR_ID DECIMAL(2,0),
GENRE_ID CHAR(10),
PRODUCTION_ID CHAR(3)
);
The VIEW
Я пытаюсь создать:
create view film_production as
select
title,
actor_first,
actor_last,
director_first,
director_last,
Production_id,
release_date
from film,
actor,
director
;
Это дает мне как 192 результатов. Но у меня только 3 актера, с 8 фильмами с 8 режиссерами и 6 production_id. Еще одно замечание: в 1 фильме есть 2 из 3 актеров, поэтому у меня должно быть как минимум 9 фильмов, которые показывают не 192. Я не знаю, что я делаю неправильно. Я просто не могу понять это. Я думаю, может быть, join
или какой-то.
Куда вы можете присоединиться к таблицам? например Таблица, в которой есть актер <-> Фильм и режиссер <-> Отношение фильма? Без них вы выполняете полное внешнее соединение и получаете продукт из всех таблиц (# players * # director * # films) – Dijkgraaf