这有什么问题:
SELECT *,
GROUP_CONCAT(DISTINCT w.tag_word ORDER BY w.tag_word ASC SEPARATOR ' ') AS tags,
MATCH (title, description, tags) AGAINST ('london') AS score
FROM article G
JOIN tag_index I ON G.article_id = I.tag_target_id
JOIN tag_word W ON I.tag_word_id = W.tag_word_id
WHERE I.tag_type_id = 1 AND MATCH (title, description, tags) AGAINST ('london')
GROUP BY G.article_id
我在'字段列表''
中收到错误'未知列'标记'更新
感谢Parrots指出我需要HAVING子句。我仍然无法弄清楚如何实现它。我只能猜测它不能在一个查询中完成,需要是一个子查询。
答案 0 :(得分:2)
由于“标记”您使用GROUP_CONCAT
创建的值,因此您需要使用having clause。每当您想要在分组之后将条件应用于时,请使用having
。在分组之后,它与where
的工作方式相同。
Where
正在尝试应用于过滤文章中的结果,该文章最终会被分组以构建“标记”之类的内容。