2010-01-15 9 views
0

이 뭐가 문제 :MySQL의 '알 수없는 열'오류

나는 오류 필드 목록 ''

UPDATE '에서'알 수없는 열 '태그 얻을

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 

:

을 앵무새에게 HAVING 절이 필요하다는 지적에 감사드립니다. 나는 여전히 그것을 구현하는 방법을 알아낼 수 없습니다. 한 쿼리에서 수행 할 수 없으며 하위 쿼리가 필요하다는 것만 추측 할 수 있습니다.

답변

2

"태그"는 GROUP_CONCAT을 사용하여 생성하는 값이므로 having clause을 사용해야합니다. 그룹화가 인 후에 을 처리 할 조건을 적용하려면 having을 사용하십시오. 그룹화 직후 where과 동일하게 작동합니다.

Where은 "태그"와 같은 항목을 만들기 위해 결국 그룹화 될 기사의 결과를 필터링하는 데 적용하려고합니다.

+0

나는 아직도 그것을 실현하지 못하는 것 같다. 어떤 아이디어를 구현해야 하는가? – Mark