MySQL 与 INNER JOIN 连接

Mil*_*loš 5 mysql concat inner-join

我有 2 个表:手稿手稿_日志

我想显示每个手稿在同一行对应的日志

示例:我有两个手稿 1 和 2。手稿 1 有 2 个日志,手稿 2 有 3 个日志。

我想在查询中得到两个结果,按 manuscrit id 分组:

manuscript_id     manuscript_log
1.                      1,2
2.                     3,4,5

SELECT manuscript.id, manuscript_log.log_number
FROM manuscript INNER JOIN manuscript_log
              ON manuscript.id = manuscript_log.manuscript_id
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 8

您可以使用GROUP_CONCAT聚合函数

SELECT manuscript.id, GROUP_CONCAT(manuscript_log.log_number)
FROM manuscript INNER JOIN manuscript_log
              ON manuscript.id = manuscript_log.manuscript_id
GROUP BY manuscript.id
Run Code Online (Sandbox Code Playgroud)

  • 我建议修改为使用 `group_concat(distinct 手稿_log.log_number order by 手稿_log.log_number 分隔符',')` (2认同)