Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Ms Access |内部联接查询问题_Sql_Database_Ms Access_Ms Access 2010 - Fatal编程技术网

Sql Ms Access |内部联接查询问题

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

所以,我正在做一个电影数据库,我有一个演员表和一个电影标题表

在电影表中,我有三列演员。演员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.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