我有一个主要是静态目标的表,另一个用于跟踪用户对这些目标的完成情况.他们可以将完成与在另一个表格和/或文本注释中输入的一个或多个记录相关联.我想将所有这些格式化为一个条目,以便在表格中显示(即每个目标一行).
以下是Completion可能的示例:
ID userID objectiveID recordID text
1 4 8 500 NULL
2 4 8 NULL "Lorem ipsum..."
3 4 8 750 NULL
我到目前为止:
SELECT objectiveID,
GROUP_CONCAT(recordID SEPARATOR ',') AS records,
GROUP_CONCAT(text SEPARATOR ',') AS text
FROM Completion AS c
GROUP BY objectiveID;
哪个回报:
objectiveID records text
8 "500,750" "Lorem ipsum..."
然而,我实际想要显示的是由recordID引用的代码的属性…假设这是Record表:
ID userID codeID
500 4 1111
750 4 2222
这就是Code表:
ID description
1111 dolor
2222 sit amet
我想要的输出是:
objectiveID records text
8 "dolor, sit amet" "Lorem ipsum..."
将其他值合并的最佳方法是什么?