全文搜索会生成错误的结果

时间:2014-10-16 04:29:52

标签: mysql sql full-text-search

我在单个查询中在两个不同的表中使用FULLTEXT搜索。哪会产生错误的结果。

select c.*, s.s_name, s.logo, s.s_slug, cm.coupon_code, cm.c_shorturl, cm.c_shorturl_id 
from ci_coupons c 
left join ci_stores s on s.store_id = c.store_id 
left join ci_coupons_mapper cm on cm.coupon_id = c.coupon_id 
where c.c_link_type like "%Banner%" 
      and c.c_width='300' 
      and match(c.c_name) against('+trend +micro') or match(s.display_name) against('+trend +micro')  

order by c.coupon_id desc

在上面的查询中,我在+trend +microc.c_name字段中搜索s.display_name,但我希望c_link_type的结果为Banner。但我得到了这个结果

enter image description here

那个c_link_type空白是错误的,那是因为FULLTEXT,有人能引导我走向正确的方向吗?

1 个答案:

答案 0 :(得分:2)

我可以通过屏幕截图中提供的数据看到最好的猜测,你遗漏了一些问题:

and (match(c.c_name) against('+trend +micro') or match(s.display_name) against('+trend +micro'))

我敢打赌你的s.display_name栏中有“趋势科技”。