Mysql 多个内部联接还是多个查询?

Mysql 多个内部联接还是多个查询?,mysql,sql,Mysql,Sql,我需要显示一个表格,列出游戏的标题、开发者和发布者。每个游戏可以有多个开发者和发布者。从下图可以看出,是否可以使用内部联接通过一个查询获得所有这些信息,或者我必须进行多个数据库事务 目前,我已经能够获得一个游戏的开发者(单数),但我不知道如何在一个查询中获得多个开发者以及多个发布者。这是我目前的疑问: SELECT games.id, games.title, companies.id, companies.name INNER JOIN game_developer ON game_deve

我需要显示一个表格,列出游戏的标题、开发者和发布者。每个游戏可以有多个开发者和发布者。从下图可以看出,是否可以使用内部联接通过一个查询获得所有这些信息,或者我必须进行多个数据库事务

目前,我已经能够获得一个游戏的开发者(单数),但我不知道如何在一个查询中获得多个开发者以及多个发布者。这是我目前的疑问:

SELECT games.id, games.title, companies.id, companies.name
INNER JOIN game_developer ON game_developer.games_id = games.id
INNER JOIN companies ON companies.id = game_developer.companies_id
GROUP BY games.title
ORDER BY games.title
LIMIT 50
最终产品应如下所示:


使用
GROUP\u CONCAT
获取所有名称:

SELECT games.id, games.title, 
        GROUP_CONCAT(DISTINCT dc.name) AS developers,
        GROUP_CONCAT(DISTINCT pc.name) AS publishers
INNER JOIN game_developer ON game_developer.games_id = games.id
INNER JOIN companies AS dc ON dc.id = game_developer.companies_id
INNER JOIN game_publisher AS gp ON gp.games_id = games.id
INNER JOIN companies AS dp ON dp.id = gp.companies_id
GROUP BY games.id
ORDER BY games.title
LIMIT 50

您需要使用
DISTINCT
,因为与出版商和开发人员的联合将产生一个包含大量副本的交叉产品。

非常有效。谢谢