将三行与另一表中的一行连接起来

Posted

技术标签:

【中文标题】将三行与另一表中的一行连接起来【英文标题】:Join three rows with one row from another table 【发布时间】:2017-08-07 16:07:31 【问题描述】:

我正在做一个家庭项目。在我的数据库中,我有两个名为电影和类别的表。在电影表中有名为 category、category_two、category_three 的三行。并且在类别表中只有一个行名category_name。 我想将电影表中的所有三行与类别表中名为 category_table 的行连接起来。 但我不知道如何进行该查询。 请帮我。

【问题讨论】:

***.com/questions/12526194/… sql join joining 3 tables的可能重复 【参考方案1】:

你应该这样做:

movies table
------------
id
name


categories table
----------------
id
name


movie_categories table
----------------------
movie_id
category_id

像这样,您可以为一部电影设置任意数量的类别。然后要获取特定电影及其类别,您可以执行以下操作:

select m.*, c.name as category_name
from movies m
left join movie_categories mc on m.id = mc.movie_id
left join categories c on c.id = mc.category_id
where m.name = 'star wars'

【讨论】:

以上是关于将三行与另一表中的一行连接起来的主要内容,如果未能解决你的问题,请参考以下文章

计算一个表中与另一表中的条件匹配的记录

连接两个表,其中一个表包含多行,这些行引用另一表 PSQL 中的一行

UNION JOIN 连接表

如何在一个表中显示多行,另一表中的一行显示为单行

如何从一个表中删除与另一表匹配的行?

vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表