小编Cam*_*ter的帖子

将 JOIN 添加到 GROUP_CONCAT()

我有一个主要是静态目标的表格,另一个用于跟踪用户完成这些目标的情况。他们可以将完成与在另一个表格和/或文本注释中输入的一个或多个记录相关联。我想将所有这些一起格式化为一个条目以显示在表格中(即每个目标一行)。

下面是一个Completion可能看起来像的示例:

ID    userID    objectiveID    recordID    text
1     4         8              500         NULL
2     4         8              NULL        "Lorem ipsum..."
3     4         8              750         NULL
Run Code Online (Sandbox Code Playgroud)

我已经走了这么远:

SELECT objectiveID,
   GROUP_CONCAT(recordID SEPARATOR ',') AS records,
   GROUP_CONCAT(text SEPARATOR ',') AS text
FROM Completion AS c
GROUP BY objectiveID;
Run Code Online (Sandbox Code Playgroud)

返回:

objectiveID    records    text
8              "500,750"  "Lorem ipsum..."
Run Code Online (Sandbox Code Playgroud)

然而,我实际上想要显示的是被引用的代码的属性recordID......假设这是Record表:

ID    userID    codeID
500   4         1111
750   4         2222
Run Code Online (Sandbox Code Playgroud)

这是Code表:

ID    description
1111  dolor
2222  sit amet
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

objectiveID    records …
Run Code Online (Sandbox Code Playgroud)

mysql join group-concatenation

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

group-concatenation ×1

join ×1

mysql ×1