sql - 女士 Access | INNER JOIN 查询的问题

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

所以,我正在做一个电影数据库,我有一张类型转换和一张电影标题表。

在电影表中,我为 Actor 提供了三列。 Actor _1、 Actor _2、 Actor _3。在这些字段中,我只写入与 Actors 表中的一行相对应的数字。

每个 Actor 都有以下栏目:

Actor_ID, Firstname, Surname 

现在,如果我执行此查询:

SELECT movie.titel, firstname + ' ' + surname AS name

FROM Movie

INNER JOIN Actors ON movie.actor_1=actor.actor_id

然后我几乎得到了我想要的。我得到了电影标题,但每部电影只有一名 Actor 。我不知道我应该如何处理那些我有两三个 Actor 的电影。

我必须翻译成代码,这样才更容易理解。原始形式的代码可以工作,所以如果不是 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

Relational database design
Junction tables

关于sql - 女士 Access | INNER JOIN 查询的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14288515/

相关文章:

mysql - 带分组的sql计数

具有where条件的第二大值的SQL查询

php - Laravel Schema 设计多对多

database - 大型数据集的分布式复制二进制存储

mysql - 在 SQL 中从单词开头搜索字母

SQL:使用 join、union 将 2 个表分组为 1 个,然后?

php - 最佳实践 : how to implement many-to-many relations using Domain Models without framework

从受密码保护的 Access 数据库进行 Excel VBA 查询

c# - 我们在 MS-Access 中有交易吗?

ms-access - 如何设置 ms-access 组合框选定索引