mysql - SQL : a set of results inside each result

标签 mysql

我有一个表articles,它的结构如下:

id, name, date, contents

我有一个表authors,它的结构如下:

id, article_id, name, email

一篇文章可以有多个作者。

如何获取文章列表,每行显示该文章的多个作者(几乎就像每个文章行中的一组结果)

我觉得这对于 SQL 来说是一件简单的事情,但我不知道要查找的正确术语。我一下午都在四处寻找,却一无所获。有人可以帮忙吗?

最佳答案

您可以使用以下解决方案 GROUP_CONCAT :

SELECT articles.id, articles.name, GROUP_CONCAT(authors.name) AS authors
FROM articles LEFT JOIN authors ON articles.id = authors.article_id
GROUP BY articles.id, articles.name

demo on dbfiddle.uk

关于mysql - SQL : a set of results inside each result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56396874/

相关文章:

MySql Comment Syntax - "#"和 "-- "有什么区别

java - JPQL : inner join with group by

mysql - 如果 EXISTS (MYSQL) 只得到这个结果

php - 将此复杂查询转换为 ORM 或 Laravel 查询生成器

mysql - MySQL如何只在一个表中的列值与另一个表中的列值相同时才从两个表中返回数据?

php - 从数组中检索单个数据

php - 获取并更新表中所有行的列

mysql - 数据库 - 最好的方法,如何搜索名称

mysql错误: violation: 1052 Column 'created_at' in where clause is ambiguous'

php - 多个字符集问题