我有一组表格
他们的相关内容如下
我想创建一个选择所有文档的查询,为每个组创建不同的记录(因为我需要按组选择),GROUP_CONC将所有关键字组合到一个字段中。
这背后的原因是我使用sphinx索引文档表,我需要它索引标题,内容和关键字。我还必须能够按组过滤。
这是我到目前为止所拥有的:
SELECT
Link.document_id AS id,
Link.group_id AS db_id,
Document.title,
Document.description,
Group.name AS db_name,
GROUP_CONCAT(distinct Keyword.`content` SEPARATOR ", ") as `keywords`
FROM `groups_documents` AS Link
LEFT JOIN `documents` AS `Document` ON (Document.id = Link.document_id)
LEFT JOIN `groups` AS `Group` ON (`Group`.id = Link.group_id)
LEFT JOIN `keywords_documents` AS `KLink` ON (`KLink`.`document_id` = `Link`.`document_id`)
LEFT JOIN `keywords` AS `Keyword` ON (`Keyword`.`id` = `KLink`.`keyword_id`)
但不幸的是,它不起作用,我只得到一行。
答案 0 :(得分:0)
如果在不包含GROUP BY子句的语句中使用组函数,则它等同于对所有行进行分组。
您需要按Group
添加某些内容。id