所以我有两个表,一个是问题,它有一个描述字段,我试图与主题表search_keyword字段匹配。
例如,问题表描述字段包含:
q.description
-------------
Have you ever traveled to China?
主题表上的search_keyword字段包含:
t.search_keywords
-------------
travel, traveled, traveling, traveler, travel agency, jet set
所以基本上我试图根据具有任何关键字的描述来缩小问题的结果集。
到目前为止,这是我的查询,我获得了主题URL,这是一个缩小了一些内容的字段,但是必须通过将描述与search_keywords匹配来缩小范围。
SELECT * FROM question q
LEFT JOIN topic t ON t.category_id = q.category_id
WHERE t.url = 'travel' AND
FIND_IN_SET(q.description, t.search_keywords)
注意:遗憾的是我无法更改数据库
任何帮助将不胜感激!
答案 0 :(得分:0)
您应该将关键字存储为单独的行而不是逗号分隔值:
t.search_keywords
-------------
travel
traveled
traveling
traveler
travel agency
jet set
然后,您只需向两侧添加%
即可找到匹配项:
select *
from question q
left join topic t on t.category_id = q.category_id
where t.url = 'travel'
and q.description like concat('%', t.search_keywords, '%');