Ms Access | INNER JOIN查询的问题

时间:2013-01-11 23:51:33

标签: sql database ms-access ms-access-2010

所以,我正在做一个电影数据库,我有一个演员表和一个电影片名表。

在电影表格中,我为演员提供了三列。 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%,请不要介意。我会很感激我能做些什么。

1 个答案:

答案 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

Relational database design
Junction tables