2013-01-11 110 views
2

因此,我正在製作一個電影數據庫,並且我爲演員和電影名稱分配了一張桌子。女士Access | INNER JOIN查詢的問題

在電影表中,我得到了Actors三列。 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%在這裏。只要感謝我能做些什麼的一些指示。

回答

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