mysql'未知列'错误

时间:2010-01-15 00:24:00

标签: mysql

这有什么问题:

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子句。我仍然无法弄清楚如何实现它。我只能猜测它不能在一个查询中完成,需要是一个子查询。

1 个答案:

答案 0 :(得分:2)

由于“标记”您使用GROUP_CONCAT创建的值,因此您需要使用having clause。每当您想要在分组之后将条件应用于时,请使用having。在分组之后,它与where的工作方式相同。

您的代码示例中的

Where正在尝试应用于过滤文章中的结果,该文章最终会被分组以构建“标记”之类的内容。