在 SQL Server 中加入具有一对多和多对多关系的 3 个表

巴拉特·迪内什

在此先感谢,我是数据库设计和查询的新手我有 4 个表,即 film_table 、actors_table 、director_table 和 producer_table 如下:

电影表

(film_id、film_name、actor_id、producer_id、director_id)

actor_table(与film_table有多对多的关系)

(actor_id,actor_name)

director_table(与film_table 是多对一的关系)

(director__id,director_name)

producer_table(与 film_table 是多对一的关系)

(producer_id, producer_name)

我还有一个形式为的映射表:

Actor_Film_Mapping

(演员_id,电影_id)

我需要查询数据库以获取以下格式的数据:

(电影姓名、演员姓名、制片人姓名、导演姓名)

我尝试了以下查询:

SELECT f.film_name       
FROM Film_table f
INNER JOIN Actor_table a
on f.actor_id= a.actor_id
INNER JOIN Actor_Film_Mapping afm
on a.actor_id = afm.actor_id;
埃里克·布兰特

主要中的任何演员数据film_table似乎都不合适,因为您(正确地)在映射表中强制执行了电影和演员之间的多对多关系。我会放弃该字段,除非它用于与此处的问题无关的某些目的。

您的问题似乎只需要在各种 ID 字段上将所有表连接在一起。因为电影对演员多到很多,你的结果对于任何给定的电影都会有film_nameproducer_namedirector_name重复的每一个值actor_name,但该查询会给你,你需要为你提出的答案所有的数据点:

SELECT 
  f.film_name,
  a.actor_name,
  p.producer_name,
  d.director_name
FROM
  film_table AS f
  JOIN
    Actor_Film_Mapping AS afm
      ON afm.actor_id = f.film_id
  JOIN
    actor_table AS a 
      ON a.actor_id = afm.actor_id
  JOIN
    producer_table AS p 
      ON p.producer_id = f.producer_id
  JOIN
    director_table AS d
      ON d.director__id = f.director__id;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 SQL Server 中加入 3 个表

来自分类Dev

3个表之间的SQL多对多关系

来自分类Dev

将表联接到SQL Server中的两个一对多关系表

来自分类Dev

在MongoDB中定义具有不同关系的3个模式(多对多,一对多...)

来自分类Dev

在MongoDB中定义具有不同关系的3个模式(多对多,一对多...)

来自分类Dev

SQL Server从3个表中选择

来自分类Dev

SQL Server左联接与3个表

来自分类Dev

Codeigniter 2 加入一对多查询3个表

来自分类Dev

SQL - 加入 3 个表

来自分类Dev

在SQL中连接具有多对多关系的两个表

来自分类Dev

sql命令展平具有多对多关系的2个表

来自分类Dev

SQL Server:联接3个表,并且sum()每个表中的一列

来自分类Dev

3张表之间的SQL Server关系

来自分类Dev

具有3个表的SQL查询

来自分类Dev

具有3个表的SQL查询

来自分类Dev

SQL Server中的多对多关系-当基本表中没有插入时在外部表中添加引用

来自分类Dev

sql join加入3个表

来自分类Dev

SQL - 加入 3 个表查询

来自分类Dev

需要SQL Server中3个表的分层数据

来自分类Dev

在sql-server中联接3个表

来自分类Dev

SQL Server-插入多个子查询(3个表)

来自分类Dev

跨 SQL Server 中的 3 个表进行透视查询

来自分类Dev

SQL Server Analysis Services中的多对多关系;第二个多对多关系不起作用

来自分类Dev

重用一个表的 3 个表的 SQL 查询

来自分类Dev

SQL Server:更新同一个表中具有依赖关系的行

来自分类Dev

具有多对多关系的Entity Framework代码优先方法为SQL Server播种

来自分类Dev

与三个表的多对多关系(sql-alchemy)

来自分类Dev

sql select语句有3个表?

来自分类Dev

带有 3 个表的 SQL 计数

Related 相关文章

热门标签

归档