Sql Ms Access |内部联接查询问题
所以,我正在做一个电影数据库,我有一个演员表和一个电影标题表 在电影表中,我有三列演员。演员1,演员2,演员3。在这些字段中,我只写与Actors表中的一行对应的数字 每个参与者都有以下专栏:Sql Ms Access |内部联接查询问题,sql,database,ms-access,ms-access-2010,Sql,Database,Ms Access,Ms Access 2010,所以,我正在做一个电影数据库,我有一个演员表和一个电影标题表 在电影表中,我有三列演员。演员1,演员2,演员3。在这些字段中,我只写与Actors表中的一行对应的数字 每个参与者都有以下专栏: Actor_ID, Firstname, Surname 现在,如果我执行此查询: SELECT movie.titel, firstname + ' ' + surname AS name FROM Movie INNER JOIN Actors ON movie.actor_1=actor.a
Actor_ID, Firstname, Surname
现在,如果我执行此查询:
SELECT movie.titel, firstname + ' ' + surname AS name
FROM Movie
INNER JOIN Actors ON movie.actor_1=actor.actor_id
然后我几乎得到了我想要的。我有电影的片名,但每部电影只有一个演员。我不知道我该怎么做,因为我有两三个演员
我必须翻译成代码,这样才能更容易理解。代码以其原始形状工作,所以不介意它不是100%在这里。如果您能给我一些建议,我将不胜感激。您需要更改您的表设计,以包含一个连接表。所以你会有
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
您需要更改表的设计以包含连接表。所以你会有
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