我正在尝试从两个表中导出一些数据,这些表由第三个表桥接,该表存储一个(文件)到多个(关键字)关系。
表格如下:
files
id, url, title
keywords
id, word
bridge
file, word
我想要的是生成一个导出,每个文件有一行,如下所示:
files.id, files.url, files.title, keyword1|keyword2|keyword3|...
非常感谢任何建议!
答案 0 :(得分:2)
您可以使用GROUP_CONCAT
组合GROUP BY
查询中的关键字:
SELECT
files.id, files.url, files.title,
GROUP_CONCAT(keywords.word ORDER BY keywords.word SEPARATOR '|') keywords
FROM
files
LEFT OUTER JOIN bridge ON bridge.file = files.id
LEFT OUTER JOIN keywords ON keywords.id = bridge.word
GROUP BY
files.id, files.url, files.title