所以,我正在做一个电影数据库,我有一个演员表和一个电影片名表。
在电影表格中,我为演员提供了三列。 Actor_1,Actor_2,Actor_3。在这些字段中,我只编写与Actors表中的行对应的数字。
每个演员都有以下列:
Actor_ID, Firstname, Surname
现在,如果我执行此查询:
SELECT movie.titel, firstname + ' ' + surname AS name
FROM Movie
INNER JOIN Actors ON movie.actor_1=actor.actor_id
然后我几乎得到了我想要的东西。我获得了电影片名,但每部电影只有一个演员。我不知道我应该为我有两三个演员的电影做些什么。
我必须翻译成代码才能更容易理解。原始形状的代码有效,所以如果不是100%,请不要介意。我会很感激我能做些什么。
答案 0 :(得分:4)
您需要更改表格设计以包含联结表格。所以你会有
Movies
ID
Etc
Actors
ID
Etc
MoviesActors
MovieID
ActorID
Etc
您的查询可能是:
SELECT m.MovieTitle, a.ActorName
FROM Actors a
INNER JOIN (Movies
INNER JOIN MoviesActors ma
ON m.ID = ma.MovieID)
ON a.ID = ma.ActorID